我正在编写一段代码,当它脱机时它将显示一个标签,为此,我正在使用navigator.onLine,我在Mac上开发了该代码,一切运行正常,但是当我在Windows 10机器上尝试时navigator.onLine始终返回true。
最初,我有一个设置,其中有两个用于“在线”和“离线”的事件侦听器,用于检测函数内部的标签。这种方法适用于Mac。失败的话,我设置了一个间隔来每秒检查一次站点是否在线,这种方法在PC上也失败了。
这是我的代码,当互联网关闭时,该代码可以在Mac上正常工作
window.addEventListener('load', function () {
var status = document.getElementById("status");
function updateOnlineStatus(event) {
var condition = navigator.onLine ? "online" : "offline";
status.className = condition;
status.innerHTML = "The website is " + condition;
if (condition == "online")
{
localStorage.clear();
}
}
window.addEventListener('online', updateOnlineStatus);
window.addEventListener('offline', updateOnlineStatus);
});
即使打开飞机模式,即使在Windows上断开互联网连接,此方法也无济于事。
预期输出应为标签:“状态”应更改内容。