【发布时间】:2012-08-15 19:32:21
【问题描述】:
如何使用 javascript 每分钟刷新一次页面。 注意:我没有控制/选项来编辑 HTML 正文标记(我们通常调用 onload 函数)。
【问题讨论】:
-
我希望这是一个只读类型的页面,否则用户可能会很生气。
标签: javascript html refresh
如何使用 javascript 每分钟刷新一次页面。 注意:我没有控制/选项来编辑 HTML 正文标记(我们通常调用 onload 函数)。
【问题讨论】:
标签: javascript html refresh
如果您不想编辑页面,这就是诀窍。打开控制台,写下下面提到的sn-p。
INTERVAL = 5 // seconds
STOP_AFTER = 15 // seconds
// Open the same link in the new tab
win1 = window.open(location.href);
// At every 5 seconds, reload the page
timer1 = setInterval(() => {
win1.location.reload();
console.log("Refreshed");
},INTERVAL*1000)
// Stop reloading after 15 seconds
setTimeout(() => clearInterval(timer1), STOP_AFTER*1000)
【讨论】:
这是伙计! (第 4 点针对这个特定问题)
1)。如果您想一遍又一遍地重新加载相同的窗口,那么只需执行window.location.reload()
2)。如果你想从服务器硬重新加载然后执行window.location.reload(true)
(基本上,只需将true 作为布尔参数传递给同一行代码)
3)。如果您想在超时的情况下完成与第 1 点和第 2 点相同的工作。即在一段时间后执行重新加载,然后执行setTimeout("window.location.reload()",10000);
(这应该在 10 秒后在窗口上执行。只需一次)
4)。如果您想在一定的超时时间内继续重新加载窗口,请执行setInterval("window.location.reload()",10000);
(这应该在 10 秒后在窗口上执行。间隔为 10 秒)
setInterval(function(){window.location.reload();},10000);<code>
function call1(){
location.reload(true);
}
setInterval(call1,10000);
</code>
window 对象是可选的,但很好用。 (window 是一个全局对象,并且已经可用于您当前的窗口。)
【讨论】:
当您的 URL 有参数时,使用 location = '' 似乎在 IE8 中不起作用。页面在没有任何参数的情况下重新加载。
以下代码对我有用:
<script type="text/javascript">
setTimeout(function(){
window.location.href = window.location.href;
},10000)
</script>
【讨论】:
<script type="text/javascript">
setTimeout(function () {
location.reload();
}, 60 * 1000);
</script>
setTimeout 将在指定的毫秒数后reload 页面,因此60 * 1000 = 1m。此外,由于页面正在刷新,超时将始终在页面加载时设置。
【讨论】:
setTimeout。并告诉他把它放在页面的代码中,而不是放在控制台或其他东西中。
您不需要在 body 标记中包含代码。只需在下面添加这个 sn-p,无论它在页面的哪个位置,它都应该可以工作。
<script type="text/javascript">
setInterval('window.location.reload()', 60000);
</script>
只要您可以在某些地方访问 HTML,并且您的编辑器不会过滤掉标签,您应该没问题。如果您的编辑器有一个单独的 JavaScript 代码区域,那么只需输入 setInterval 行。 :)
【讨论】:
只需将此代码插入页面中的任何位置:
<script type="text/javascript">
setTimeout(function(){
location = ''
},60000)
</script>
【讨论】:
if (location == 'your url') { setTimeout(...,60000) }