如何在2018年检测浏览器是否处于脱机状态?

时间:2018-04-02 22:29:36

标签: javascript browser offline offline-browsing

以前存在offline.js用于检测连接,但不再维护该项目。此外,浏览器的navigator.onLine'财产是出了名的unreliable

用于主动检测浏览器在线状态的最佳/最新方法是什么,与现代浏览器(包括移动设备浏览器)兼容,可在在线状态发生变化时引发各种事件?我需要自己写这个,还是重新发明轮子?

请注意,我的用户群中的 nobody 将会改变"脱机工作"在浏览器中设置以进入在线/离线状态。相反,他们将拔掉网络电缆,断开与wifi网络的连接,开车到没有信号的地方,等等。

我的想法是简单地设置一个超时来重复对我服务器上的URL进行AJAX调用,并简单地设置一个“在线”#39;变量为true / false以及基于AJAX调用的错误/成功调用在线/离线回调函数。这是推荐的方式吗?

2 个答案:

答案 0 :(得分:0)

只需使用

navigator.onLine

查看浏览器支持https://caniuse.com/#feat=online-status

答案 1 :(得分:0)

使用

int max = 1112;
int min = 1000;
int range = max - min + 1;
n = rand() % range + min;

查看帖子:https://medium.com/@MateMarschalko/online-and-offline-events-with-javascript-d424bec8f43