• ベストアンサー

サイトをつねにフレーム内に表示させるには?

フレームの中にサイトをいろいろと表示していますが、サイトによってはフレームを完全に無視して、親ウィンドウ全面に表示する場合がかなりあり、何とかしてフレーム内に表示させる方法はないものかと悩んでいます。parent.frame1.location.href=document.form1.URLs.options[n].text; frame1にあらゆるサイトを表示したいのです。この記述だけではダメみたいですが、他にうまい方法がありましたら、どなたか教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
noname#5841
noname#5841
回答No.2

こんばんは。 遅くなりましたm(_ _)m サイトの主旨がわからなかったので、一括りで書いてしまいましたが、サイトの主旨を考えた場合、以下の点を抑えておけば、フレーム利用自体は問題ないかと思います。 [1] オンライン辞書を提供しているサイトに、辞書をtonka729さんのサイトのフレーム内に表示して、利用できるようにしたい由を連絡・許可とっておく [2] もしその学習ページが、トップページにあった場合は、トップではなく、サブに移動し、トップでは利用しているオンライン辞書などのプログラムは、tonka729さんが作成者ではない事を明記しておく(もちろん、学習ページのどこかにもそれは明記) [3] フレーム解除を仕込んだページを見た場合には、tonka729さんの学習ページは上手く使えない事を説明しておく といった形を抑えておけば、良いかな、と思います。 基本的に、利用者がtonka729さんのページに、自分が見たいページを表示させる、という形は明確なようですし、その点については問題ないと思います。 ただ、フレーム解除を仕込んだページについては、サイト制作者の意図もありますし、そこは尊重して、どうしても、という場合は、エキサイトのWEB翻訳(だったかな)みたいな、ページ全体の翻訳をするサイトをご紹介、リンクする、という形を取るのが望ましいかと思います。 ご参考になれば幸いです。

tonka729
質問者

お礼

ss sion さま、再びご回答をいただきありがとうございました。厳しいおしかりを受けるのでは、と思っておりましたが、親切なご案内を再びいただき、ほっとしております。  私は自分で独和・伊和辞書を作ってサーバーに置き、CGIプログラムも自分で書き、語学好きの人たちに楽しんでもらおうと思って(英語などは今更ですので)おりました。[3]は御説に従います。「2」もほぼそうしてあります。ありがとうございました。またいずれご質問をすると思います。その節はまたよろしくご指導くださるようお願いいたします。

その他の回答 (1)

noname#5841
noname#5841
回答No.1

えっと、それはご自身のサイト以外をフレーム内に表示、という意味でしょうか? だとしたら、それは不可能と言うより、それをしてはマナー違反になってしまいます。 フレーム内にご自身のサイト以外を表示すると、一見してその人のサイト内で展開している、と見える場合、見せてしまう場合があり、それはHP作者に対して失礼になってしまいます。 例えフレーム解除のスクリプト等を含まないサイトであっても、それはやめておいた方が良いです。 また、万が一、リンク先のサイトの中でフレームを使用していて、フレーム名がtonka729さんのサイトのフレーム名とたまたま同じ場合、動作がおかしくなる場合も想定されますので、そういった意味でも、別サイトを開く場合は、別ウィンドウを開くか、ページ全体更新を許容するかした方が良いです。 ご参考になれば幸いです。

tonka729
質問者

お礼

ss sionさま、ありがとうございました。そうだったのですか。そういうことに気がつきませんでした。たしかにそうですね。失礼なことになる、とのご指摘、理解できます。  外国語学習のために、上のフレームに自分が読みたい外国のニュースなどの記事、文章を、そのサイトのURLによって呼び出し、下のフレームに複数外国語のオンライン辞書をおいていて、記事から分からない単語をドラッグして下フレーム内のボックスにドロップすると、単語の説明が順次に出るようにしてあります。  ss sion さま、たとえこの意図であっても、許されないかもしれない、という気持ちになりました。  いかがでしょう、くどいようでおしかりを受けるかもしれませんが、やはりどうしてももう一度お尋ねします。閉鎖すべきでしょうか?

関連するQ&A

  • フレームを3つ使ったサイトにしています。それで3つ同時に別のページに飛

    フレームを3つ使ったサイトにしています。それで3つ同時に別のページに飛ばすのに、 (自分は、ホームページビルダーでホームページを作っています) <A href="#" onclick="parent.フレーム1.location.href='ページ1.html'; parent.フレーム2.location.href='ページ2.html'; parent.フレーム3.location.href='ページ3.html'; という書き方をしているのですが、 IEでは作動するのですがFireFoxでは正常に作動しません。 正常に作動されるためには、どういう風に書き換えれば良いのでしょうか? 都合のいい質問かもしれませんが、どうか宜しくお願いします。

  • フレームを3つ使ったサイトにしています。それで3つ同時に別のページに飛

    フレームを3つ使ったサイトにしています。それで3つ同時に別のページに飛ばすのに、 (自分は、ホームページビルダーでホームページを作っています) <A href="#" onclick="parent.フレーム1.location.href='ページ1.html'; parent.フレーム2.location.href='ページ2.html'; parent.フレーム3.location.href='ページ3.html'; という書き方をしているのですが、 IEでは作動するのですがFireFoxでは正常に作動しません。 正常に作動されるためには、どういう風に書き換えれば良いのでしょうか? 都合のいい質問かもしれませんが、どうか宜しくお願いします。

  • 【プルダウンメニュー】フレームの中のインラインフレームに、ターゲットを指定するには?

    現状は【フレームA(ヘッダー1)】【フレームB(ヘッダー2)】【フレームC(メイン)】【フレームD(フッター)】の4分割のうえに、更にフレームCの中に【インラインフレーム】があります。 フレーム3の中にプルダウンメニューを設置し、インラインフレームに表示させたいのですが上手く動作しません。 ※ちなみに、「var target = "フレームA名";」で試してみると動作はするのですが…。 という事は「フレームの中のインラインフレーム」という点がネックなのでしょうか? とあるソースを改良して使おうと思ったのですが、javascript素人につき行き詰まっています。どなたか回答いただけると嬉しいです。 <SCRIPT TYPE="text/javascript"> <!-- var target = "インラインフレーム名"; function jump(){ var url = document.form1.select.options[document.form1.select.selectedIndex].value; if(url != "" ){ if(target == 'top'){ top.location.href = url; } else if(target == 'blank'){ window.open(url, 'window_name'); } else if(target != ""){ eval('parent.' + target + '.location.href = url'); } else{ location.href = url; } } } // --> </SCRIPT> <FORM NAME="form1"> <SELECT NAME="select" onChange="jump()"> <option value="">お選びください <option value="Ahtml/arr">AAA <option value="B.html">BBB <option value="C.html">CCC <option value="D.html">DDD <option value="E.html">EEE </SELECT> </FORM>

  • location.hrefを使用したFRAME表示

    location.hrefを使ったjavascriptを作ろうとしています。 <script type="text/javascript"><!-- location.href = "http://www.yahoo.co.jp/"; // --></script> の改良版として、http://www.yahoo.co.jp/をフレームの右側に 表示させたいと考えています。 (src使用ではなくjavascriptのlocation.hrefを使うことがMUSTです) <head> <script type="text/javascript"><!-- right.location.href = "http://www.yahoo.co.jp/"; // --></script> </head> <body> <FRAMESET cols="50%,50%"> <FRAME name="left" src="left.html"> <FRAME name="right" src="right.html"> </FRAMESET> </body> としてみましたがうまくいきません。 location.hrefはmetaタグ内でしか有効ではないにも関わらず right.の指示をメタタグ内部で指定していないことが原因かも しれません。 javascriptのlocation.hrefを使ってフレームの右側に 表示させる方法をご教授願います。

  • フレームを3つ使ったサイトにしています。それで3つ同時に別のページに飛

    フレームを3つ使ったサイトにしています。それで3つ同時に別のページに飛ばすのに、 (自分は、ホームページビルダーでホームページを作っています) <A href="#" onclick="parent.flame1.location.href='page1.html';parent.flame2.location.href='page2.html'; parent.flame3.location.href='page3.html'; という書き方をしているのですが、 IEでは作動するのですがFireFoxでは正常に作動しません。 正常に作動されるためには、どういう風に書き換えれば良いのでしょうか? 都合のいい質問かもしれませんが、宜しくお願いします。 どうしても解決しなければならないので、皆様、どうかご協力お願いいたします<(__)>

  • Aフレームからの操作でBフレームに表示

    今日は。 現在HPを作ってるんですが、行き詰ってしまい、質問させて頂きます。 例として、 a.htmlとb.htmlの2つのフレームがあり a.htmlの小さな画像にオンマウスすると、b.htmlのフレームに大きな画像が表示される(別フレームに画像が表示されるのはオンマウス中のみです;) というのがしたくて調べたんですが <a onMouseOver="window.parent.フレームの名前.location.href = '大きな画像';"> <img src="小さい画像" border=0> </a> と書けば良いと言うのを発見し、試してみたんですが、小さい画像は表示されるんですが、オンマウスしても大きな画像がb.html に表示してくれません; 私が書いたのは、bodyの中に <a onMouseOver="window.parent.b.html.location.href = '0.mpg';"> <img src="1.mpg" border=0> </a> です。a.htmlの方に書きました。 上のやつを、b.htmlじゃなくbだけにしても駄目でした。 後、 Window.top.frames['main'].document.getElementById('registerForm').submit(); ってのも見つけたのでためしてみたんですが、ダメでした。 他にも、http://oshiete1.goo.ne.jp/qa1555396.htmlのを試してみたんですが、出来ませんでした。 これは、私がやりたいのと少し違ったので、テキストは表示されないように消したりしました; どなたか解決策を教えて頂けないでしょうか。 どうぞよろしくお願い致します。

    • ベストアンサー
    • HTML
  • フレームで呼び出したhtml名の取得

    お世話になります。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=2374524 で、教えて頂いた関数呼び出しについてです。 フレームを左右に分割しています。 左側 frame_left.html    name="left" 右側 最初page1.html    後でページを切り替える name="main" としたとき、 frame_left.htmlで <a href="page2.html" onclick='getTagName();' target="main">ページ2</a> とすると、右側フレームはpage2.htmlに切り替わります。 このとき、getTagName();が、ページが切り替わった後に実行される方法として、 No1.talepandaさんに、 <body onload="window.parent.left.getTagName();"> と、いう方法を教えて頂きました。 ここで、関数getTagName()で、この呼び出したhtml名、つまりpage2.htmlを取得できないものでしょうか。 いろいろと試してみました。 alert("window.parent.mainfrm.location.href="+window.parent.mainfrm.location.href); //framesetを定義したhtml名となってしまう。 alert("window.mainfrm.location.href="+window.mainfrm.location.href); //スクリプト停止 alert("location.href="+location.href); //frame_left.htmlになる。 と、いうことでいずれもダメでした。 このような呼び出し方をした場合、呼び出しもとのhtml名を取得できないのでしょうか。 どうか、よろしくお願いいたします。

  • セレクトメニューのリンク先を隣のフレームに表示したい。

    左側の細いフレームにセレクトメニューを設置しました。 メニューを選んで、go!をクリックして、リンクするときメインのフレームに開くようにしたいのですが・・・。 ターゲットはどこに記述すればよいですか? お忙しいところ申し訳ありませんが、教えてください。 よろしくお願いします。 *head部分の記述 <SCRIPT LANGUAGE="JavaScript"> <!-- function gotoURL(){ var gotoUrl=document.f0.f0e0.options[document.f0.f0e0.selectedIndex].value document.location.href=gotoUrl} //--> </SCRIPT> *body部分の記述 <FORM NAME="f0"> <div align="center"> <SELECT NAME="f0e0"> <option value="../kensaku/chikukensaku.html" selected>宮崎市</option> <option value="no">延岡市</option> <option value="mj">都城市</option> <option value="kb">小林市</option> <option value="gb">郡部</option> </SELECT> <INPUT TYPE=BUTTON VALUE="GO!" onClick="gotoURL()"> </div> </FORM>

  • フレームサイズの変更について

    過去ログを参照していたら、次のようなサンプルを発見したのですが、 IEでは動作しますが、FireFoxではエラーになってしまいます。 どこを修正すれば動くようになるでしょうか? ■frame.html■ <html> <head><title></title> <script language="javascript"> <!-- document.write(frset('40%','60%','a.htm?','1.htm?')) function frset(a,b,f1,f2){ var frset= '<title>frame</title>\n' +'<frameset cols="'+a+','+b+'">\n' +'<frame src="'+f1+'">\n' +'<frame src="'+f2+'">\n' +'</frameset>\n' return frset } //--> </script> </head> </html> ■a.html■ <html> <head><title></title> </head> <body> 右のリンクで<br>フレームのサイズ<br>が変わるよ! </body> </html> ■1.html■ <html> <head><title></title> <script language="javascript"> <!-- function chsize(a,b){ if(location.search==""){ if(document.all){ parent.document.all.tags("frameset")[0].cols=a+","+b }else{ //parent.document.open() parent.document.write(frset(a,b,parent.frames[0].location.href+"?",parent.frames[1].location.href+"?")) parent.document.close() } } } //--> </script> </head> <body onload="chsize('40%','60%')"> こっち側60%です。 <br> <a href="2.htm">こっち側を40%にする!</a> </body> </html> ■2.html■ <html> <head><title></title> <script language="javascript"> <!-- function chsize(a,b){ if(location.search==""){ if(document.all){ parent.document.all.tags("frameset")[0].cols=a+","+b }else{ //parent.document.open() parent.document.write(frset(a,b,parent.frames[0].location.href+"?",parent.frames[1].location.href+"?")) parent.document.close() } } } //--> </script> </head> <body onload="chsize('60%','40%')"> <a href="1.htm">こっち側を60%にする!</a> <br> こっち側40%です。 </body> </html>

  • フレームが現在表示しているURLを調べたい

    「フレームが現在表示しているURLを調べたい」 でもうまくいかないので質問しました。 1.説明 次のようにフレーム定義をします <FRAMESET cols="60%,*"> <FRAME src="l.html" name="l"> <FRAMESET rows="85%,1*"> <FRAME src="ru.html" name="ru"> <FRAME src="rb.html" name="rb"> </FRAMESET> このとき、JavaScript で フレーム ru が表示している URLを以下のJavaScriptを実行すると ru.html が返ります。 →この結果は納得できます。(^^)/ document.write(window.top.ru.location.href) ru.html 次に、フレーム l のHTMLのなかで以下のようにターゲットをruにして、リンクをつくり、それをクリックすると ru の表示内容は当然ながら http://www.asahi.com に切り替わりました。 <TR><TD><A href="http://www.asahi.com" target="ru">朝日</A></TD></TR> ここで、再び以下の命令を実行すると、こんどは、 「エラー:書き込みができません」が出てしまいます。 →http://www.asahi.com が返ることを期待していたのですが (-_-;) document.write(window.top.ru.location.href) エラー:書き込みができません 2.質問 ここで質問なのですが、フレームが現在表示中のURLを得るための記述方法をご存知の方 教えていただけないでしょうか?

専門家に質問してみよう