web-dev-qa-db-ja.com

iframe iは30秒ごとに更新する必要があります(ただし、ページ全体ではありません)

私はこのコードを少し持っています

<iframe marginwidth="0" marginheight="0" width="240" height="80" scrolling="no" frameborder=0 src="irc_online.php">
</iframe>

サイドバーにあるhtmlウィジェットにこれを追加しています。ページの残りの部分ではなく、30秒ごとにこの更新を行う方法はありますか?

どうもありがとう

16
VK27

Irc_online.phpにメタリフレッシュタグを配置できます。

<meta http-equiv="refresh" content="30">

または、setIntervalでJavascriptを使用して、ソースのsrcを更新できます...

<script>
window.setInterval("reloadIFrame();", 30000);

function reloadIFrame() {
 document.frames["frameNameHere"].location.reload();
}
</script>
35
ahmet2106

Iframe id = myIframeであると仮定しましょう

コードは次のとおりです。

<script>
window.setInterval("reloadIFrame();", 30000);
function reloadIFrame() {
 document.getElementById("myIframe").src="YOUR_PAGE_URL_HERE";
}
</script>
12
SymbianSyMoh

より簡単な解決策があります。宛先ページ(irc_online.php)で、ヘッダーに自動更新タグを追加します。

1
Sush

わかりました...だから私は10年の質問に答えていることを知っていますが、何かを追加したかったのです!特別なiframeパラメーターを使用してGoogleカレンダーを追加したかった。問題は、カレンダーがないとカレンダーが機能しなかったことです。 30秒は私の使用には少し短いので、自分のファイルで15分に変更しました。これでうまくいきました。

<script>
window.setInterval("reloadIFrame();", 30000);
function reloadIFrame() {
 document.getElementById("calendar").src=calendar.src;
}
</script>

    <iframe id="calendar" src="[URL]" style="border-width:0" width=100% height=100% frameborder="0" scrolling="no"></iframe>
1
T. Willemse

「id = 'myiframe'」をiframeに追加し、次のスクリプトを使用します。

<script>

function f1()
{
 var x=document.getElementById("myiframe");
   x.src=x.src+Math.floor(random()%100000);
}

setInterval(f1,30*1000);

</script>
0
AbiusX