リンク後のフレーム付画面について



0   名前: まさひこ : 2004/01/31 20:35
こんにちわ。
以下質問にどなたかお答え頂けますでしょうか?

index.htmlからあるリンクAをクリックすると
メニュー画面とB画面がフレームで分けられた画面が表示されます。

 A click → menu | B …(1)

その画面の戻るを押すと最初のフレームのない普通のindex.html画面へ戻ります。
続いて、戻ってきたindex.htmlからリンクCをクリックすると
メニュー画面とD画面がフレームで分けられた画面が表示されます。

 C click → menu | D …(2)

(1)のメニューからDをクリックしても(2)と同様の結果になるようにしたいです。

index.htmlから同じフレームでメニュー以外をクリックした内容の画面に変えるのは
どのようにすれば良いのでしょうか?
そもそも出来るのかな…??

1   名前: : 2004/01/31 22:31
(1)のフレームを作るときに、Bの側の場所に名前を付けて、
http://www.tagindex.com/html_tag/frame/frame_name.html

メニューのリンクにTARGETをつけて、名前を指定すればいいのでは。
http://www.tagindex.com/html_tag/frame/a_target.html

2   名前: Sinryow : 2004/01/31 23:38   [URL
方法は次の2つですね。単純な方法ではできないと思います。

(1)面倒だが,フレーム元のページを2つ作る。

index.html から
Aへのリンク先・・・frame-a.html(右側をmenu.html,左側をb.html)
Cへのリンク先・・・frame-c.html(右側をmenu.html,左側をd.html)
のようにします。

(2)CGIを使う。
index.html のリンク先を,例えば
Aへのリンク先・・・frame.cgi?a
Cへのリンク先・・・frame.cgi?c
として,frame.cgi の中で例えば

#!/usr/local/bin/perl
print "content-type:text/html\n\n";
print "<html>\n";
print "<head>\n";
print "<frameset cols=\"30%,70%\">\n";
print "<frame src=\"menu.html\" name=\"left\">\n";
if(@ARGV[0] eq "a"){
print "<frame src=\"b.html\" name=\"right\">\n";
}elsif(@ARGV[0] eq "c"){
print "<frame src=\"d.html\" name=\"right\">\n";
}
print "</frameset>\n";
print "</head>\n";
print "</html>\n";

とすれば,「frame.cgi?」の後に何を書いたかで場合分けできます。
もちろん,まさひこさんのサーバーでCGIを使えることが前提ですが。

JavaScriptでもできるかもしれませんが,よくわかりません。

3   名前: 匿名希望 : 2004/02/01 11:46
ご回答ありがとうございました。
Kさんのパターンの場合、うまく作成できない(俺が駄目なだけ?)ので
Sinryowさんの(1)パターンでとりあえず代用したく思います。


一覧へ戻る