一劳永逸,navigator.onLine做什么?

jme*_*ase 12 javascript html5

我看过一千个帖子,有人问如何在javascript中检测互联网连接,总有一个人说使用navigator.onLine,另一个人说它不可靠,只告诉你连接是否可用,而不是你有联系.

底线,navigator.onLine告诉我,即使3G/4G和WiFi打开并且他们不在飞机模式或其他任何东西,由于覆盖率差,用户是否无法联系那里的服务器?只是你的平均死区.

J. *_* K. 12

来自MDN的文章navigator.onLine:

浏览器以不同方式实现此属性.

在Chrome和Safari中,如果浏览器无法连接到局域网(LAN)或路由器,则它处于脱机状态; 所有其他条件都返回true.因此,虽然您可以假设浏览器在返回false值时处于脱机状态,但您不能认为真值必然意味着浏览器可以访问Internet.您可能会收到误报,例如计算机运行的虚拟化软件具有始终"连接"的虚拟以太网适配器.因此,如果您确实想确定浏览器的在线状态,则应开发其他检查方法.要了解更多信息,请参阅HTML5 Rocks文章"离网格".

在Firefox和Internet Explorer中,将浏览器切换到脱机模式会发送false值.所有其他条件都返回真值