【前言】
判断从离线到在线,这里的离线,在线都是对internet来说,
而不是navigator.onLine,这个属性只是本地网络是否连通,不代表是否连接到了internet上
【思路】
判断离线到在线,需要判断是否在线,如下
浏览器判断是否在线:https://uikoo9.blog.csdn.net/article/details/113895049
nodejs判断是否在线:https://uikoo9.blog.csdn.net/article/details/113871922
可以判断在线后的思路
- 轮询是否在线
- 当离线后开始记录
- 连续2次在线后认为是在线
这么做是为了让离线到在线的判断更加精确
【offline-to-online】
综上,封装了一个npm包,offline-to-online:https://www.npmjs.com/package/offline-to-online
使用方法(nodejs):
'use strict';
var q = require('qiao-is-online');
// callback
// time, interval time, default is 3*1000ms
q.offlineToOnline(function(){
console.log('offline-to-online');
}, 3 * 1000);
使用方法(浏览器):
'use strict';
var q = require('qiao-is-online-browser');
// is online img src
var isOnlineImgSrc = 'your online img src';
// callback
// time, interval time, default is 3*1000ms
q.offlineToOnline(isOnlineImgSrc, function(){
console.log('offline-to-online');
}, 3 * 1000);