ウィリアムのいたずらの、まちあるき、たべあるきーPART2

gooブログ「ウィリアムのいたずらの、まちあるき、たべあるき」がお引越ししてきました

別フレームおよびIFRAMEで表示しているサイトを切り替えるには


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

の、
「複数のフレームを同時に書きかえるには」
と
「インナーフレームを置くには」