- 締切済み
直フレーム内ページにきた場合とトップからきた場合の「戻る」について
以前「複数フレーム内リンク」でお世話になりました。今度も煮詰まってしまいました。 ・トップ→コーナー→末端ページという構成 ・「上部・左・メイン」の3つフレームを使用している状況です。 検索でフレーム内の末端ページに飛んできた人に「戻る」ボタンでコーナーのindexにフレーム有りの状態で表示したいのです。 只今、上記については作動できるのですが、逆にトップ→コーナー→末端ページと通常の流れできた人が、その「戻る」を押すと3つのフレームの中のメインフレームにまた3つのフレームが表示されてしまいます。 戻るに「target='_top'」や「target='_parent'」とつけてもいきません。といいますか、付け方がわかりません。 ソースは↓ <script language="JavaScript"> function framepage(filename) { document.open(); document.write("<frameset rows='80,*' frameborder='NO' marginwidth='0' marginheight='0' framespacing='0' border='0' target='_top'>"); document.write("<frame name='topFrame' src='上部.html' scrolling='NO' noresize>"); document.write("<frameset cols='152,*' frameborder='NO' marginwidth='0' marginheight='0' framespacing='0' border='0' target='_top'>"); document.write("<frame name='leftFrame' src='左.html' scrolling='NO' noresize>"); document.write("<frame name='main' src=" + filename + ">"); document.write("</frameset>"); document.write("</frameset>"); document.close(); } </script> bodyの方は↓ <a href="javascript:framepage('../index.html')">[戻る]</a> となっています。 どなたか宜しくお願いします!
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- stanaka
- ベストアンサー率44% (13/29)
> ・トップ→コーナー→末端ページという構成 > ・「上部・左・メイン」の3つフレームを使用している状況です。 > 検索でフレーム内の末端ページに飛んできた人に「戻 > る」ボタンでコーナーのindexにフレーム有りの状態で表示したいのです。 日本語の意味が良く分からないんですが,ページとフレームの関係として, フレーム親ページ(index.html) トップ(frame/top.html) = 上部フレーム(topFrame) コーナー(frame/left.html) = 左フレーム(leftFrame) 末端ページ(frame/main.html) = メインフレーム(main) であり,メインフレームの中に表示されるはずの末端ページの内容がブラウザ全体に表示されているとき,「戻る」をクリックするとブラウザ内にフレームが切られて,トップにアクセスした状態に戻るということですか?. それでよろしければ,JavaScriptでややこしいことをせずに,main.html内で, <a href="../index.html" target="_top"> とすればよろしい. target="" は,<a href=""></a>や,<form action=""></form>などで,ページを呼び出すフレームを指定するために使います. よろしいか?.
補足
すいません。やはり日本語おかしかったですね。言葉足らずです。 上部フレームをa.html・左フレームをb.htmlは常備表示されてるとして表現するならば、 トップページ=a+b+トップ.html(これはあまり意味ないですが) コーナーページ=a+b+コーナートップ.html コーナー末端ページ=a+b+コーナー末端.html …この動作をXとします。 ですが、検索サイトからやってきた人で末端.htmlだけしか見られないという場合、 「コーナーに戻る」ボタンでフレーム有りのコーナーページ(=a+b+コーナートップ.html)を表示させたいということです。 …この動作のYとします。 それで、今の状況としましてはYの動きはできるのですが、Xの動作をしようとすると コーナートップがa+b+(a+b+コーナートップ)と表示されます。 こちらの表現不足をお許し下さい。 そして、御教授いただきたいです。