使用JS在浏览器中判断当前网络连接状态的几种方法

JavaScript015

使用JS在浏览器中判断当前网络连接状态的几种方法,第1张

通过navigator.onLine判断当前网络状态:

if(navigator.onLine){

...}else{ ...}

非常简单,但是并不准确-根据MDN的描述:

navigator.onLine只会在机器未连接到局域网或路由器时返回false,其他情况下均返回true。

也就是说,机器连接上路由器后,即使这个路由器没联通网络,navigator.onLine仍然返回true。

navigator.onLine

online和offline。当网络从离线变为在线或者从在线变为离线时,分别触发这两个事件。这两个事件在window对象上触发。(必须要手工轮询这个属性才能检测到网络状态的变化。 )

Offline.js 插件( https://github.com/hubspot/offline )