我有一个显示广告的网页。页面根据用户输入刷新,例如 60 分钟。因此,如果在一小时结束后要显示新广告,页面将自行刷新(使用 JavaScript)并显示新广告。
<body oncontextmenu="return false;" onload="JavaScript:timedRefresh(<?php echo $tvout_refresh; ?>);">
$tvout_refresh
是 60 分钟。
现在,我遇到了一个小问题,如果网页离线,页面将在计时器用完(60分钟,刷新)后重定向到浏览器的离线页面(表示无法访问网站的页面)这页纸)。
经过一番搜索,我看到了这段代码,让我能够检测浏览器是在线还是离线。
if (navigator.onLine) {
alert('online')
} else {
alert('offline');
}
和
window.addEventListener("offline", function(e) {
alert("offline");
}, false);
window.addEventListener("online", function(e) {
alert("online");
}, false);
现在,无论浏览器是离线还是在线,浏览器只会在我的刷新脚本计时器用完并刷新页面时检测到它是否离线。有没有办法插入一个脚本来确定浏览器离线,跳过刷新,重置计时器并在 60 多分钟后重试,避免浏览器离线页面?
timedRefresh
定义如下:
function timedRefresh(timeoutPeriod) {
setTimeout("location.reload(true);", timeoutPeriod);
}