[英]javascript refresh page after 5 secs
<a href="newpage.php" target="_blank" onClick="openWindowReload(this)">update</a>
<script>
function openWindowReload(link) {
var href = link.href;
window.open(href,'_blank');
document.location.reload(true)
}
</script>
所以我有这个代码,点击链接'更新'后自动刷新当前页面
我想要的是在5秒后刷新当前页面....为什么?
在newpage.php我正在更新一个表,如果当前页面重新加载非常快,它将无法获取更新的数据,而是它将获取旧数据... ps抱歉我的英文不好。 。 。 。
有没有办法,我可以暂停刷新当前页面的javascript ..如果有人可以告诉我如何....
提前致谢....
更新:
<script>
setTimeout(function openWindowReload(link) {
var href = link.href;
window.open(href,'_blank');
document.location.reload(true)
}, 5000);
</script>
我试图使用超时但它不工作.....
你可以使用setTimeout
:
setTimeout(function() {
document.location.reload(true);
}, 5000);
这是一种“暂停”JavaScript或更好的方式,等待执行一些功能。
所以它会是:
function openWindowReload(link) {
var href = link.href;
window.open(href,'_blank');
setTimeout(function() {
document.location.reload(true);
}, 5000);
}
你试图通过javascript
代码打开窗口,由于安全原因,动态弹出/窗口将阻塞,直到你不允许打开弹出窗口。
如果允许在浏览器上弹出窗口,代码将正常工作
<a href="newpage.php" target="_blank" onClick="return openWindowReload(this)">update</a>
<script>
function openWindowReload(link) {
setTimeout(function(){
var href = link.href;
window.open(href,'_blank');
document.location.reload(true)
}, 5000);
return false;
}
</script>
对于您要完成的任务,我将使用对服务器的AJAX调用来执行表更新,并假设更新是同步的(您的服务在返回之前等待更新完成),然后更新客户端内容或刷新来自回调事件处理程序的页面。 这样你就不必等待任意时间,再加上如果你已经决定需要5秒,那么甚至可能有5秒就不够了。
问题的根源似乎是竞争条件,而不是简单地从执行更新的同一连接查询表。 大多数更新在不到一秒的时间内完成,您可以在以串行方式执行这两项操作时阻止初始页面,并避免竞争条件。
<button type="button" name="update" class="update">Update</button>
$(".update").on('click', function(event){
setTimeout(function() {
document.location.reload(true);
}, 5000); //5000 means 5 second After 5 second page is autmatically refresh
});
更多说明检查演示
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.