navagator.onLine错误的价值

时间:2014-06-14 19:14:32

标签: javascript ios cordova internet-connection

我有一个Cordova / Phonegap应用程序,我正在尝试确定该设备是否在线,因此我一直在使用navigator.onLine值。

我认为这不可能(因为看起来非常简单)这个值可能是错误的。

使用此示例代码(来自Mozilla开发人员中心)并且iPhone处于飞行模式时,它表示该设备是"在线":

if (navigator.onLine) {
  alert('online');
} else {
  alert('offline');
}

这不是检查设备是否在线的好方法吗?

感谢。

1 个答案:

答案 0 :(得分:0)

我得出结论,navigator.onLine不是确定设备是否可以访问互联网的有效方法,因为它有时意味着浏览器已满载,或者计算机可以访问本地区域网络文件服务器。

如果您要创建一个本机运行的应用程序,或者运行在Cordova Phonegap等本机平台上的应用程序,那么最好使用该设备的内置API。

我最终使用了Cordova的network-information API:https://github.com/apache/cordova-plugin-network-information/blob/master/doc/index.md