アプリ版:「スタンプのみでお礼する」機能のリリースについて

<iflame src="">インラインフレームの中のページを時間差でページを変更したいのですがどうすればいいでしょうか?


<iframe src="ページA" width="300" height="100" frameborder="0" scrolling="no">

だけが表示されているのですが
ここに、10秒後にページB、さらに30秒後にページCと表示させたいのですが、どうすればよいでしょうか?

A 回答 (4件)

こんにちは



こんな感じのやつですか?

<script type="text/javascript"><!--
window.onload=function() {
setTimeout("ifrch('ページBのパス')",10000);
setTimeout("ifrch('ページCのパス')",30000);
}

function ifrch(url) {
document.getElementById("ifr").src=url;
}
//--></script>

<iframe src="ページA" width="300" height="100" frameborder="0" scrolling="no" id="ifr">

この回答への補足

このまんまコピペしたらつかえますか?

補足日時:2007/11/20 22:18
    • good
    • 0
この回答へのお礼

10000というのはミリ秒でいくと何秒なんでしょうか?

このまんまいれたのですが
うまく表示がされません。

どうすればよいでしょうか?

お礼日時:2007/11/21 22:27

こんにちは



window.onload=function() {
setTimeout("ifrch('ページB')",10000);
setTimeout("ifrch('ページC)",10000);
}

でページB,ページCともに10秒後に同時に飛ぶようになっています
ですので10秒後にページBにも飛んでいるのですが同時にページCにも飛んでいるのでページBが表示されずページCが表示されています

ページCのほうは30秒後(30000)になります
    • good
    • 0
この回答へのお礼

なるほど!
できました!!

ありがとうございました!

お礼日時:2007/11/25 16:24

こんにちは



>10000というのはミリ秒でいくと何秒なんでしょうか?
10000=10秒です

>うまく表示がされません。
っと一言で言われましてもどのようにうまくいかないのか書いていただかないとこちらとしても対処の仕様がないですね(--;)

・ページが変わらない
・別のページが表示される
など

>どうすればよいでしょうか?
幾つか確認事項が必要になりますが・・・

『このまま』というのはこのままではなくページのパスに書き換えてのことですよね?
setTimeout("ifrch('./B.html')",10000); 相対パス仕様
setTimeout("ifrch('http://***/B.html')",10000); 絶対パス仕様

変えている場合、そのパスはあってますよね?

iframeの置かれているページに貼り付けていますよね?

他にjavacriptを入れてwindow.onload、もしくは<body onload="***()">を使用していませんか?(後に記述されたものが採用されます)

ブラウザのjavascriptの使用はONになっていますよね?
<script type="text/javascript"><!--
window.onload=function() {
alert("javascriptは使用できます");
}
//-->
</script>
<noscript>
javascriptの使用はできません
</noscript>
これを入れてみてどちらが表示されますか?(『使用できません』のほうなら下のサンプルは動きません。ブラウザの設定でjavascriptの使用を許可してください)

一応すべての人のブラウザがjavascriptの使用を許可しているわけではないのでNo.1様の回答サンプルも追加記入しておいた方が無難かと思います(まぁ、入れたら入れたでjavascriptの意味がなくなってしまうわけですけど(苦笑)

W3Cのルール的にはNGになりますが(稼動はします)
<noscript>
<meta http-equiv="refresh" content="10;URL=~~B.html">
</noscript>
とすればjavascript使用可能であればjavascriptを、不可能であれば<meta>をというふうにはできますが・・・

この回答への補足

補足、遅くなりまして、申し訳ありません。

うまくいかない状況としては

<script type="text/javascript"><!--
window.onload=function() {
setTimeout("ifrch('ページB')",10000);
setTimeout("ifrch('ページC)",10000);
}

function ifrch(url) {
document.getElementById("ifr").src=url;
}
//--></script>

<iframe src="ページA" width="300" height="100" frameborder="0" scrolling="no" id="ifr">

としているときに

ページAは表示されますが
そのご10秒たった後、ページBに飛ばずにページCへジャンプします。

ですので、ページBが表示されないような状態です。


>他にjavacriptを入れてwindow.onload、もしくは<body onload="***()">を使用していませんか?(後に記述されたものが採用されます)

についてや他に関しても、チェックしてみましたが
問題ありませんでした。

どうすればよいでしょうか?

補足日時:2007/11/25 10:19
    • good
    • 0

こんにちは。


ページAとページBの<head></head>の中に、以下のmetaタグを入れる方法はいかがでしょうか。

↓ページAの<head></head>の中
<meta http-equiv="refresh" content="10;URL=~~B.html">

↓ページBの<head></head>の中
<meta http-equiv="refresh" content="30;URL=~~C.html">

この回答への補足

ページAなど自身ではなく、インラインフレームでできる方法はないでしょうか?
たとえば、中にjavascriptなどをいれて読込時間を指定する方法などとか・・・

補足日時:2007/11/20 15:36
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!