• ベストアンサー

2つのフレームを同時に切り替えたいんですが・・

はじめまして、質問させてください>< フレームが3分割になっているwebページを、ホームページビルダーで作ろうとしています。 --------- |        A   | |________|        |        B   |       |________|         |        C   | --------- こんなイメージです。 Cにmenuを入れて、そのCの中のmenuにあるリンクを押すと、AとBが同時に別のページに飛べるようにしたいんです。 もちろんCはどのページに行っても固定です。 このJavaScriptが載っているサイトさんをいくつか参考にして何回も試してみたんですが、全くできませんTT タグを何度も見直した上で、ビルダーのプレビュー画面で見るとそのたびに「ページを表示できません」と出てきてしまいます>< 専門家の方やビルダーに詳しい方、どなたかアドバイスを下さい・・よろしくお願いします><。。

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

  • ベストアンサー
  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.4

>そのタグは、BODYタグの後にそのまま入力すればいいんでしょうか? とくにファンクションを呼び出していませんので、<BODY>タグの後にあれば良いです。 No.1さんの補足を見る限り、 <A HREF=# onClick=window.open('page1.html','top','');window.open('page2.html','middle','');>link</A> で良いですね。 但し、page1.htmlやpage2.htmlがフレームに表示されず、別のウィンドウに表示されるようであれば、 <FRAMESET>でフレーム指定しているファイルの<FRAME>で指定しているNAME=がtopとmiddleになっているかを確認してください。 もし、よくわからないようであれば、<FRAMESET>や<FRAME>を指定しているファイルの内容を補足してください。

yumena
質問者

お礼

できましたぁー^^ もう一度よく確認してみたら、ちゃんとページの内容も表示されました(≧▽≦) 本当にありがとうございました☆

yumena
質問者

補足

またまたていねいな回答ありがとうございます*^-^* そのタグを入力してみたら、できたんです!でも喜んだのもつかの間・・ 前までは、ビルダーのプレビュー画面で確認すると、フレームの形すら出ずにただ「ページを表示できません」と出るだけだったんですが、このタグを入力したところ、今度はちゃんと2段のフレームが同時に出てきて同時に切り替わりました! でも肝心の、そのページの内容が出てきませんTT 2つのフレーム画面とも、「ページを表示できません」になってます>< もちろん表示したいページの名前も間違ってないです。 考えられる原因はあるのでしょうか・・。

その他の回答 (4)

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.5

> 入れ子とは具体的にどうすればいいんですか? 具体的には、「CとDの二フレームに分割、Cのクリックで、フレームDに呼び出すHTML文書の中で、AとBに二分割する」なんですが、下手に「入れ子」などと修飾させたのが敗因でしたか。 もっと具体的な例。MacのTerminalからのコピーアンドペースト: % cat index.html <html><head><title>Test</title></head> <frameset rows="*,60"> <frame src="about:blank" name="MAIN"> <frame src="c.html" name="MENU"> </frameset></html> % cat c.html <html><head><title>Menu</title></head><body> <a href="d.html" target="MAIN">D</a> </body></html> % cat d.html <html><head><title>Main</title></head> <frameset rows="50%,*" onload="a()"> <frame src="http://www.okweb.jp/" name="topview"> <frame src="http://oshiete.goo.ne.jp/" name="middleview"> </frameset></html> %

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.3

三分割じゃなく、まず、CとDの二フレームに分割、Cのクリックで、フレームDに呼び出すHTML文書の中で、AとBに二分割するよう、入れ子にすれば、JavaScriptとか使わないで済むのでは。

yumena
質問者

補足

回答ありがとうございます^-^ 確かにそれが簡単かも・・と思いましたw でも、なんとなく意味は分かるのですが、入れ子とは具体的にどうすればいいんですか?>< 質問ばかりでごめんなさい;;

  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.2

1個のリンクで二つのページを二つのフレームに入れるには、 <A HREF=# onClick=window.open('a.html','a_frame','');window.open('b.html','b_frame','');>ここをクリック</A> の様にFRAMEのNAME=で指定した名前をTARGET=で指定知る様に指定しなくてはなりません。 ここではa_frameにa.htmlを表示させ、 b_frameにb.htmlを表示させようとしています。

yumena
質問者

補足

回答ありがとうございます^^ そのタグは、BODYタグの後にそのまま入力すればいいんでしょうか?

  • TNY
  • ベストアンサー率42% (69/163)
回答No.1

Menuのリンクを押したときのjavascript部分で、 top.Aのフレーム名.location.href="リンク先"; top.Bのフレーム名.location.href="リンク先"; と単に併記というのはどうでしょうか。

yumena
質問者

補足

回答ありがとうございます^^ 確かに、リンク先のアドレスも入力したんですが、それでもだめでしたTT 実際に、Cの部分にはこういうタグを入れました。 <HTML> <HEAD> <TITLE></TITLE> <SCRIPT Language="JavaScript"> <!-- function link1() { parent.top.location.href='page1.html'; parent.middle.location.href='page2.html'; } //--></SCRIPT> </HEAD> <BODY> <A href="JavaScript:link1();">Link1</A> </BODY> </HTML> フレームの名前は、Aの部分がtop、Bの部分がmiddleとなっています。 仮に、CにあるLink1というところをクリックすると、AとBが同時にそれぞれpage1、page2と切り替わるようにしたいのですが・・><

関連するQ&A

専門家に質問してみよう