プロが教える店舗&オフィスのセキュリティ対策術

タイトル通りなんですが、

あらかじめ、frame.htmlという
上と左右に分割されたページ
(上はtop.html、左はleft.html、右はright.html)
があるとします。

で、index.htmlから1~3までのリンク先があり、
そこをクリックすると、frame.htmlの
top.htmlとleft.htmlだけ同じファイルを呼び出し、
right.htmlの部分だけ各1~3のページを
読み出す事はできるのでしょうか?

1~3.html用にそのフレームページを3つ作れば早いのですが
どうにかして、frame.htmlの「right」だけを各リンク先のページに
切り替えるという、1つのファイルで賄いたいと思っております。

宜しくお願い致します。

A 回答 (2件)

方法としては、


・index.htmlのリンク1~3のhrefをそれぞれ
 "frame.html?ptn=1"
 "frame.html?ptn=2"
 "frame.html?ptn=3"
 などとしてframe.htmlへどのリンクを踏んだかを渡す

・frame.htmlの先頭でindex.htmlから渡された値(ptn)を取得する
 window.documentあたりで取得できると思います。
 (文字列操作等が必要かもしれない)

・取得した値(ptn)によってframesetのsrcを振り分ける。
 ptn=1だったらright1.html
のような感じで。

といった具合で実現可能かと。
    • good
    • 0
この回答へのお礼

返信有難う御座います。

各リンク先を引数として
その引数を上の処理で変数として受け取らせてやれば
こちらの望むべき処理が実現できました。


---処理---

function jump(filename) {
document.open();
document.write("<frameset rows='50,*' frameborder='0' border='0' framespacing='0'>");
document.write("<frameset cols='100%,*' frameborder='0' border='0' framespacing='0'>");
document.write("<frame src='./top.html' scrolling='NO' noresize>");
document.write("<frame src='dummy.html' scrolling='NO' noresize>");
document.write("</frameset>");
document.write("<frameset cols='160,*' frameborder='0'>");
document.write("<frame src='./left.html'>");
document.write("<frame src=" + filename + ">");
document.write("</frameset>");
document.write("</frameset>");
document.close();


---リンク元---

<a href="right1.html" onclick="javascript:jump('right1.html')">


作りが雑かと思いますがこんなカンジです。
お騒がせ致しました。

お礼日時:2005/03/22 19:05

少し意味が解らないのですが、index.htmlとframe.htmlは同じものだと考えていいのでしょうか?


それとも、indexとframeは2つウィンドウが開いていて、indexから違うウィンドウのframeを操作したいのでしょうか?
どちらにしても、両方ともJavaScriptで出来ますョ。

また、frameではなくてiframeを使う、という手もあります。
    • good
    • 0
この回答へのお礼

index.htmlとframe.htmlは別モノです。
とりあえずトップページのリンク先を
別のフレームページの1部に飛ばせたかったんですが
とりあえずやってみたら出来ました。

ご返答有難う御座いました。
お騒がせ致しました。

お礼日時:2005/03/22 18:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!