onLine检查程序运行正常,但我想设置' if'和'其他'在javascript中。
如果状态在线,则很实用...您必须转移到另一个链接。 如果状态为离线状态,则状态必须显示此消息'重新连接...'直到设备连接。我希望在连接后再次检查' if'你通常必须转移到指定的路径。
以下是HTML代码:
<p>Current network status: <span id="status">checking...</span></p>
这是javascript代码:
var statusElem = document.getElementById('status');
setInterval(function () {
statusElem.className = navigator.onLine ? 'online' : 'offline';
statusElem.innerHTML = navigator.onLine ? 'online' : 'offline';
if ('status'=='online') {
window.location = "http://www.google.com/";
}
else {
statusElem.innerHTML = navigator.onLine ? 'Online' : 'Re-connecting...';
}
}, 250);
感谢您的时间:)
答案 0 :(得分:1)
因为您想在线时重定向到新的网址,我认为您的代码可以像这样重写
var statusElem = document.getElementById('status');
setInterval(function () {
if (navigator.onLine) {
// you're online. Redirect to the desired URL
// this will also clear the interval
window.location = "http://www.google.com/";
}
else {
// not online. Update the statusElem
statusElem.className = 'offline';
statusElem.innerHTML = 'Re-connecting';
}
}, 250);
修改强>
如果您在新窗口中打开链接,则可能需要清除间隔,否则它将每1/4秒继续执行一次。您可以使用clearInterval
方法停止间隔
var statusElem = document.getElementById('status');
var intervalId = setInterval(function () {
if (navigator.onLine) {
// clear the interval
clearInterval(intervalId);
// you're online. Redirect to the desired URL
window.location = "http://www.google.com/";
}
else {
statusElem.className = 'offline';
statusElem.innerHTML = 'Re-connecting';
}
}, 250);