当我关闭 Wi-Fi(OS X 中笔记本电脑上的机场)时,navigator.onLine 仍然返回 true。这是违反直觉的行为。但是,当我在 Firefox 等浏览器中设置“脱机工作”时,它会正确返回 false。这是预期的吗?
alert(navigator.onLine ? "online" : "offline");
当我关闭 Wi-Fi(OS X 中笔记本电脑上的机场)时,navigator.onLine 仍然返回 true。这是违反直觉的行为。但是,当我在 Firefox 等浏览器中设置“脱机工作”时,它会正确返回 false。这是预期的吗?
alert(navigator.onLine ? "online" : "offline");
是的。浏览器不向页面提供网络连接信息,而是使用 Work Offline 的状态作为值。
使用 window.addEventListener 检测网络更新:
window.addEventListener('online', amIOnline);
window.addEventListener('offline', amIOffline);
function amIOnline(){
console.log('online');
}
function amIOffline(){
console.log('offline');
}