一个iframe我需要每30秒刷新一次(但不是整个页面)

问题描述 投票:15回答:5

我有这段代码

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

我将这个添加到我在侧边栏上的html小部件中,是否有一种方法可以让每次30秒的刷新说而不是我的页面的其余部分?

非常感谢

iframe refresh
5个回答
35
投票

您可以在irc_online.php中放置元刷新标记

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

或者您可以使用Javascript和setInterval来刷新Source的src ...

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

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

10
投票

我们假设你的iframe id = myIframe

这是代码:

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

1
投票

好的...所以我知道我正在回答十年的问题,但是想补充一些东西!我想添加一个带有特殊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
投票

我有一个更简单的解决方案。在目标页面(irc_online.php)中,在标题中添加自动刷新标记。


0
投票

将“id ='myiframe'”添加到iframe,然后使用此脚本:

<script>

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

setInterval(f1,30*1000);

</script>
© www.soinside.com 2019 - 2024. All rights reserved.