解決済

clip!clip!
Ads By Google

ifraameでのランダム表示時に不具合がでます

ifraameでのランダム表示時に不具合がでます

下記のような記述で、ページを読み込むたびに、一部をランダムで別ページが表示されるようにしているのですが・・・
その際に、何回も読み込みをしカチカチとリンクをクリックした時のような音がし、1.htmlを表示したかと思えば3.htmlになったり5.htmlになったり(その時々で表示されるページは違いますが、多い時では5回以上変わります)します。
そして、ブラウザの戻るボタンを押しても一回では元のページに戻れなくなってしまいます。

ノートパソコンや、回線速度の遅い状況下で起こりやすいと思うのですが・・・

これはどうにかならないものでしょうか?
よろしくお願いします。

<script>
tsURL=[];
tsURL[0]="1.html";
tsURL[1]="2.html";
tsURL[2]="3.html";
tsURL[3]="4.html";
tsURL[4]="5.html";
</script>


<iframe style="margin-left:-3px;" width="620" height="142" name="tsz" align="center" frameborder="no" scrolling="no" onload="if(this.title==''){this.src=tsURL[Math.floor(Math.random()*5)];this.title=this.src;frm1=this;setTimeout('frm1.title=\'\';',1000)}">
</iframe>

2009-08-20 09:19の質問
この質問と回答を読んで役に立った場合は「役に立つ質問」に投票してください。投票が多い質問は、役に立つ質問一覧に掲載され、より多くの人に見てもらうことができます。

回答(2)

2.

2009-08-23 22:11:38ベスト
具体的に、書き直すと
<iframe style="margin-left:-3px;" width="620" height="142" name="tsz" align="center" frameborder="no" scrolling="no" id="frm1"></iframe>
<script>
tsURL=[];
tsURL[0]="1.html";
tsURL[1]="2.html";
tsURL[2]="3.html";
tsURL[3]="4.html";
tsURL[4]="5.html";
document.getElementById("frm1").src=tsURL[Math.floor(Math.random()*5)];
</script>
てな感じですかね。(回答1、そのままですが・)

丁寧にありがとうございます。
余計な読み込みはなくなりました。

また何かあったらお願いします^^;

1.

2009-08-21 08:23:57
実際に試していないですけど、
onload のタイミングとsetTimeout のタイミングで、
読み込みがおかしくなったりするのかもしれませんね。
(クリック音の症状とはちょっとあわないかも・・)

こんな複雑なことをしないでも、
<iframe … id="frm1">
とか名前を付けてあるのであれば、
document.getElementById("frm1").src=tsURL[Math.floor(Math.random()*5)];
をスクリプトの末尾に書いて、
スクリプトを<iframe …> の後に置く。
とか(window.onload イベントで実行するようにする)
でいいような気がします。
回答レベル : アドバイス
Ads By Google

コメント(1)

#1.  龍也様
2009-08-23 14:13:18

BLUEPIXYさん、早速の回答ありがとうございます。

すいません・・・
全くの初心者で、今回の記述もHP作成サイトのものを応用したのです。
おっしゃるようなやり方の具体的な記述を教えて頂けないでしょうか?

ご面倒をお掛けしますが、宜しくお願いします。

トラックバック(2)

トラックバックURL: