84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
看到《JavaScript高级程序设计》 23章离线应用于客户端存储,写道可以用navigator.onLine来检测当前网络状态。 于是顺手写了个判断:
if (navigator.onLine) { alert("有网") }else{ alert("没网"); };
可是当在chrome和火狐上,无论是否有网,都提示「有网」。在IE上能准确提示。
按说我的浏览器都是最新的,满足书上说的浏览器的要求,请问这有可能是怎么回事?
闭关修行中......
这里有一些细节替楼主补充一下 :
Firefox
只与「脱机工作」开关有关,而跟你真的上不上得了网没有关系。
Chrome
取值并不是实时的,一般得等5秒左右。
其他一些细节题主可以访问 https://developer.mozilla.org/en-US/docs/Web/API/NavigatorOnLine/onLin... ,并且在 http://html5-demos.appspot.com/static/navigator.onLine.html 可以对这个 API 做一些简单的测试。
断网的定义不是 是否连接互联网. 而是 是否有网卡活动.
比如: 如果你有个 虚拟机桥接的网卡 就算拔掉网线浏览器也是认为你有网络.
这里有一些细节替楼主补充一下 :
Firefox
只与「脱机工作」开关有关,而跟你真的上不上得了网没有关系。
Chrome
取值并不是实时的,一般得等5秒左右。
其他一些细节题主可以访问 https://developer.mozilla.org/en-US/docs/Web/API/NavigatorOnLine/onLin... ,并且在 http://html5-demos.appspot.com/static/navigator.onLine.html 可以对这个 API 做一些简单的测试。
断网的定义不是 是否连接互联网.
而是 是否有网卡活动.
比如:
如果你有个 虚拟机桥接的网卡 就算拔掉网线浏览器也是认为你有网络.