我有一个JSP页面,它必须显示正在运行的各种作业的状态。其中一些工作需要时间,因此需要一段时间才能将其状态从处理更改为完成。
拥有一个每隔30秒左右刷新一次页面的javascript函数是一个好主意吗?有一个不断刷新页面的脚本会有什么后果吗?
另一个选项是有一个刷新按钮,点击它会刷新页面。
答案 0 :(得分:50)
有多种解决方案。如果您希望刷新页面实际上不需要JavaScript,那么如果您在meta
标记中添加此head
标记,浏览器就可以为您执行此操作。
<meta http-equiv="refresh" content="30"/>
然后,浏览器将每隔30秒刷新一次页面。
如果您真的想使用JavaScript,那么您可以在location.reload()
内使用setTimeout()
(docs)每30秒刷新一次页面:
setTimeout(function() {
location.reload();
}, 30000);
否则,如果您不需要刷新整个页面而只需要刷新其中的一部分,我想Ajax调用将是最有效的方式。
答案 1 :(得分:7)
头部中只需一行简单的代码即可刷新页面
<meta http-equiv="refresh" content="30">
虽然它不是一个javascript函数,但它是希望完成上述任务的最简单方法。
答案 2 :(得分:3)
如果你想刷新你可以这样使用的页面,但刷新页面通常不是最好的方法,最好只尝试更新你需要更新的内容。
<强>的javascript:强>
CloudKit
答案 3 :(得分:0)
使用setInterval
代替setTimeout
。尽管在这种情况下两者都可以,但是setTimeout
仅在setTimeout
无限期地持续时才固有地触发。
<script language="javascript">
setInterval(function(){
window.location.reload(1);
}, 30000);
</script>