• 締切済み

フレーム復元をさせない!事は可能ですか?

とっても初心者です。 これまで、既存ページ(こちらでは変更不可)のフレームのメインにだけリンクを貼り、別のメニューを上につけてページを表示していました。 こちら側は、CSSとHTMLで作ったページです。 ところが、先日、メインコンテンツの方に下記のようなjava scriptが追加され、これまでのままだと、メニューがダブルで表示されてしまうようになってしまいました。 もし、こちら側のページの記述で、「フレーム復元」を解除できる事が可能でしたら、お教えいただけないでしょうか? 宜しくお願いします。 //-------------------- // フレーム復元 //-------------------- if(navigator.userAgent.indexOf('Opera') == -1) { if (self.name != 'audio_main' && self.name != 'visual_main' && self.name != 'shop_main') { document.open(); document.write('\ <html>\ <head />\ <frameset rows="100,*" frameborder="NO" border="0" framespacing="0">\ <frame src="http://xxxx.html" name="visual_top_frame" scrolling="NO" noresize>\ <frame src="" name="visual_main">\ </frameset>\ </head>\ '); document.close(); window.open(location.href, 'visual_main'); } }

みんなの回答

回答No.3

No.2のfujillin氏が仰っている, > 仮に既存のフレームセットのソースを変更しても良いのなら、「メイン」とおっしゃっているフレーム名をスクリプトではじいているnameにしてしまえば実行されなくなると思われます。 とは, 「iframeに指定してるname属性を "audio_main", "visual_main", "shop_main" のいずれかにすると, スクリプトは例外として記述されているそれらにより中断され実行されない」 ということです. 質問者様の最初の質問文では iframe なのか frameset なのか区別がつかない(どちらかといえばframesetに取れる)のでフレームセットと仰られたのだと思われます. > これまで、既存ページ(こちらでは変更不可)のフレームのメインにだけリンクを貼り、別のメニューを上につけてページを表示していました。 私が勘違いしているかもしれないから聞いておきますが, 他所のサイトのコンテンツを自分のサイトのフレームに表示させてるのですか?

shihorinn
質問者

補足

mazimekko3様、 ご回答、ありがとうございます。 最後のご質問なのですが、 >他所のサイトのコンテンツを自分のサイトのフレームに表示させてるのですか? 実際、そういう事になると思います。 fujillin様のご回答の下に補足で書かせていただいたのですが、同じ会社様(A社)のサイト制作なのですが、既に存在する膨大な量の作品情報ページを流用して、別バージョンで女性向けに特化したレイアウトのページを作成しようとしています。 既に存在するA社の作品情報ページがリニューアルされ、そちらのコードを元に戻してもらう事は、実質不可能なんです。 やはり、こちら側で操作する事は難しいようですね。

すると、全ての回答が全文表示されます。
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

質問者様がどこまで変更が可能なのかが不明なので、どのような対処法が可能なのか判断できません。 >既存ページ(こちらでは変更不可) ということで、既存のページは一切変更できなくて、 >下記のようなjava scriptが追加され、 これは変更可能なのでしょうか?(不可とは書いてないので) 可能ならば、無効にしてしまうのが一番簡単。 スクリプトもいじれないとすると、質問者様の裁量で変更可能なものは何が残っているでしょうか? 既存のソースもスクリプトも一切いじれないとなると、相当に難しいかと… (というか、何が変更可能なのか不明) 仮に既存のフレームセットのソースを変更しても良いのなら、「メイン」とおっしゃっているフレーム名をスクリプトではじいているnameにしてしまえば実行されなくなると思われます。 あるいは質問ソース中の http://xxxx.html で呼び出されている xxxx.htmlにjavascriptを追加して、フーム構成を調べてメニューがダブっていたら、解除するようにしてあげるとかでも対処可能かと思います。 いずれにしろ、既存ソースまたは追加されたスクリプトのどこかを変更するのが簡単そうですが… 

shihorinn
質問者

補足

お返事が遅くなりなり申し訳ありません。 また、説明が分かりづらく、重ね重ね申し訳ありません。 私の方で作成しているのは、商品紹介サイト(A社全商品)の一部ジャンルを抜き出したサイト(A社女性向け商品)です。 コードを書きますと… <!-- HeaderArea --> <div id="frame_header"> ~抜粋~ </div> <!-- HeaderAreaEnd --> <!-- ContentsArea --> <div id="frame_content"> <iframe frameborder="0" name="xxxx" src="http://xxxx.html" > </iframe> </div> <!-- ContentsAreaEnd --> <!-- FooterArea --> ~抜粋~ <!-- FooterAreaEnd --> ここで呼び出していたhttp://xxxx.htmlは、商品紹介サイト(A社全商品)の全体に影響が出るので、このページに手を加える事はできません。 http://xxxx.htmlは、フレーム除外した個別の説明ページのアドレスですが、最初の質問時のようなスクリプトが追加され、商品紹介サイト(A社全商品)のフレームが自動で復活されるようになってしまいました。 もし、私の方で作成している=一部ジャンルを抜き出したサイト(A社女性向け商品)のページの書き方で、追加されたフレーム復活のスクリプトを解除できる方法があれば、教えていただきたいと思います。 どうぞ宜しくお願い致します。

すると、全ての回答が全文表示されます。
  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

だめかもしれませんが、 リンクする時 <a href="http://xxxx.html" target="_parent">XXX</a> としてみる、あるいは <a href="http://xxxx.html" target="fugafuga">XXX</a> みたいに別の名前を付けてみる。 高度ないんちきとしては、 Operaははじいているみたいだから、 userAgentをoperaに偽装する。

shihorinn
質問者

お礼

yyr446様、 ご回答ありがとうございます。 早速、targetを指定する方法を両方とも試してみたのですが、うまくいきませんでした。 高度ないんちきの方は、 すいません、初心者のため、トライできませんでした。

すると、全ての回答が全文表示されます。

関連するQ&A