javascriptで、表題のことをやる場合の話。
今日も自分へのメモなので、たいした話ではありません。
■方法(概要)
Javascriptでフレームにしているときに、そのフレームに表示しているサイト(ページ)を切り替えたいときは、
top.フレーム名.location.href = 表示したいサイトのURL;
IFRAMEで切り替えたい場合は、まず、
<iframe id="ID名" src="http://www.gogle.com" height=300 width=200>
</iframe>
(上記 < >は、実際には半角)
のように、idを振っておけば
document.getElementById("ID名").src = 表示したいサイトのURL;
でOK。
■サンプル-仕様
以下のように

はじめ、Googleを右側に表示、およびIFRAMEで下に表示し
(バレンタインデーなので、glがチョコレートになってる)
左上の部分を切り替えると、YahooやGooにかわる。
■サンプル-ソース
全体の部分(index.htm)と、左側の部分(index_left.htm)がある。
●全体部分(index.htm)
こんなかんじ
<html> <head> <title>テスト</title> </head> <frameset cols="230,*"> <frame name="left" src="index_left.htm"> <frame name="right" src="http://www.google.com"> </frameset> </html> |
(上記< > は、本当は半角です)
●左側部分(index.htm)
こんなかんじ
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>テスト</title> </head> <SCRIPT Language="JavaScript"> <!-- function chgURL() { // URL変更 URLPath = document.getElementById('URLList').value; top.right.location.href = URLPath; document.getElementById('s_win').src = URLPath; } // --> </SCRIPT> <body bgcolor="#CCFFFF"> <select id="URLList" size=1 onChange="chgURL()"> <option value="http://www.yahoo.co.jp">YAHOO</option> <option value="http://www.goo.ne.jp">goo</option> <option value="http://www.gogle.com" selected>gogle</option> </select> <BR> <iframe id="s_win" src="http://www.gogle.com" height=300 width=200></iframe> </body> </html> |
(上記< > は、本当は半角です)
chgURLで、上記URLの切り替えをしています。
■参考にしたサイト
フレーム
http://www.tohoho-web.com/how2/frame.htm
の、
「複数のフレームを同時に書きかえるには」
と
「インナーフレームを置くには」