こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

HTMLでインラインフレーム(IFRAME)のURLをランダムにしたい

インラインフレーム(IFRAME)のURLをランダムで変えて、広告を表示させたいです。

http://blog-imgs-**.fc2.com/t/r/i/***/randam_ad.js
randam_ad.jsの内容は以下です。
------------------------------------
function randomAd(){
var table = [
 "http://www.yahoo.co.jp/",
 "http://bbpromo.yahoo.co.jp/",
 "http://my.yahoo.co.jp/",
];
var objDate = new Date();
var myURL = table[objDate.getSeconds() % 3];

document.write( '<IFRAME SRC="',myURL,'" name="sample" width="468" height="60" scrolling="no" border="0" marginwidth="0" style="border:none;" frameborder="0">' );
document.write( 'この部分はインラインフレームを使用しています。' );
document.write( '</IFRAME>' );
}
------------------------------------
そこで、IFRAMEを表示させたいページを以下のように記述しました。
------------------------------------
<HTML>
<HEAD>
<TITLE></TITLE>
<SCRIPT src="http://blog-imgs-**.fc2.com/t/r/i/***/randam_ad.js">
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT language="JavaScript">
<!--
randomAd();
//-->
</SCRIPT>
</BODY>
</HTML>
------------------------------------
ただ、全く反応がありません。表示されないのです。
ご教授お願いいたします。

投稿日時 - 2009-02-23 18:36:36

QNo.4742908

すぐに回答ほしいです

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

randomAd関数に文法的ミスはありませんが、DOM操作を行うのであれば
DOM構築後でないといけません。

<body onload="randomAd()">

または

window.onload = randomAd;

投稿日時 - 2009-03-18 13:28:15

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

「反応がない」というのはどういう意味?
上記のソースをそのまま動かすと
一応インラインフレームは表示されたわよ。

ただ、毎回同じ内容しか表示されないけど。
これが悩みなら解決方法は
<SCRIPT src="randam_ad.js">

<SCRIPT src="randam_ad.js?">
にしてあげると上手くいくけど。
?の後にランダム文字(現在時刻のミリ秒)とか入れておくと
なおいいけどね。

投稿日時 - 2009-02-24 08:35:40

補足

回答ありがとうございます!
やっぱり"?"つけても無理でした。
Javascriptのgoogle.feeds.Feedを導入するとき、文法が1文字違うだけで反応が無くなってたので、今回も文法のどこかに問題があるのかな?
と、思ったりしたのですが、初心者でして全く分かりません...

投稿日時 - 2009-02-24 17:59:27

あなたにオススメの質問