我有一个网页,我希望它每 2 分钟刷新一次,使用以下代码:
location.reload();
问题是我假设用户已连接;但如果他/她没有在线连接,页面将失败并给出默认浏览器(无连接错误页面);并且页面永远不会刷新,除非用户手动刷新
我可以包含一个 ping 机制来决定是否刷新吗?
您可以使用navigator.onLine
检测网络连接
setInterval(function() {
if (navigator.onLine) {
location.reload();
}
}, 120000); /* 120000 ~> 2 minutes */
否则,您可以使用HEAD
ajax 请求同域资源并仅在响应返回时刷新页面200/304
状态,例如
setInterval(function() {
$.ajax({
url : "/favicon.ico", /* or other resource */
type : "HEAD"
})
.done(function() {
location.reload();
});
}, 120000); /* 120000 ~> 2 minutes */
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)