【发布时间】:2016-10-03 17:57:54
【问题描述】:
chrome 开发工具网络限制离线仍将 navigatior.onLine 显示为 true。
我想测试一个 web 应用的离线体验。我正在检查设备是在线还是离线,然后调用不同的函数(即没有 ajax 调用)。
如何在不断开机器连接的情况下使用 chrome 归档离线行为。我仍然需要其他服务的连接。
【问题讨论】:
标签: javascript google-chrome-devtools offline
chrome 开发工具网络限制离线仍将 navigatior.onLine 显示为 true。
我想测试一个 web 应用的离线体验。我正在检查设备是在线还是离线,然后调用不同的函数(即没有 ajax 调用)。
如何在不断开机器连接的情况下使用 chrome 归档离线行为。我仍然需要其他服务的连接。
【问题讨论】:
标签: javascript google-chrome-devtools offline
只设置navigator.onLine = false是不行的,但是可以完全覆盖“onLine”属性:
Object.defineProperty(navigator, "onLine", {value: false})
如果您想稍后恢复它,请保留对旧属性描述符的引用:
var oldOnLineDescriptor = Object.getOwnPropertyDescriptor(
navigator.constructor.prototype, "onLine")
// ...
Object.defineProperty(navigator, "onLine", oldOnLineDescriptor)
【讨论】:
试试这个。
window.addEventListener('online', onOnline);
window.addEventListener('offline', onOffline);
function onOnline() {
window.isOnline = true;
// do what you want
}
function onOffline() {
window.isOnline=false
// do what you want
}
【讨论】: