• ベストアンサー

<iframe>内をリロードするたびに入れ替えたい

<iframe>で別に作ったページが表示されるようにしているのですが、 リロードするたびに<iframe>内のページがランダムに入れ替わり、 いろんなページが見られるようにしたいと思っています。 現在このようなソースでtest1.htmlを表示させているのですが、 ここにtest2.html、test3.html、test4.htmlが表示されるように するにはどうしたらいいでしょうか? <iframe src="../test1.html" name="sample" width="500" height="500" frameborder="0" scrolling=no> この部分はインラインフレームを使用しています。 </iframe>

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

  • ベストアンサー
回答No.3

たとえば http://*****.com/sample/sample1.html だとすると location.href="http://*****.com/sample/sample"+page+".html" 変数pageには数字が格納されていますので これで "sample"+page+".html" ⇒ "sample1.html" となります。

その他の回答 (2)

回答No.2

<script type="text/javascript"> cnt= 5 //←ファイル数 page = Math.floor(Math.random() * cnt)+1; window.onload=function(){ window.parent.sample.location.href="../test"+page+".html" } </script> <body> <iframe src="about:blank" name="sample" width="500" height="500" frameborder="0" scrolling="no"> </iframe> </body>

yuta777
質問者

お礼

回答ありがとうございました。 今回、質問しやすいように便宜上test1、test2などのファイル名にしたのですが、 実際にはhttp://から始まるフルのアドレスで記述したいと思っています。 "../test"+page+".html"の部分はどう記述すればいいんでしょうか?

noname#39970
noname#39970
回答No.1

javascriptで  とか。 <script><!-- x = ["../test1.html","../test2.html","../test3.html"]; r = Math.floor(Math.random() * x.length); document.write("<frame src=\""+x[r]+"\" name=sample width=500 heith=500 frameborder=0 scrolling=no>この部分はインラインフレームを使用しています。</iframe>"); //--></script>

yuta777
質問者

お礼

早速の回答ありがとうございます。 試してみたのですが、同じページばかりが表示されているようです。 firefoxではでなかったんですが、IEでリロードしてみると ')'がありません、というエラーメッセージが出てきました。

関連するQ&A