当将chrome限制为离线时,navigator.onLine仍然是真的

时间:2016-10-03 09:16:47

标签: javascript google-chrome-devtools offline

chrome dev tools网络限制离线仍然会将all_vehicles = [{"vehicle": x.vehicle} for x in vehicle_sum] json.dumps({'success':'1','vehicle':all_vehicles) 显示为 true

我想测试一个webapp的离线体验。我正在检查设备是在线还是离线,然后调用不同的功能(没有ajax调用,即。)。

如何使用chrome存档脱机行为,而无需断开我的计算机。我仍然需要连接其他服务。

2 个答案:

答案 0 :(得分:1)

设置navigator.onLine = false并不起作用,但您可以完全覆盖" onLine"属性:

Object.defineProperty(navigator, "onLine", {value: false})

如果您想稍后恢复,请保留对旧属性描述符的引用:

var oldOnLineDescriptor = Object.getOwnPropertyDescriptor(
    navigator.constructor.prototype, "onLine")
// ...
Object.defineProperty(navigator, "onLine", oldOnLineDescriptor)

答案 1 :(得分:0)

试试这个。

 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
}
相关问题