监测用户的网络是否在线
我们可以利用navigator.onLine
API 来检测网络状态。navigator.onLine
会返回一个布尔值来显示用户是否在线。true
表示在线,false
表示离线,只要浏览器连接到网络的状态发生改变,属性值就会发生改变
我们可以监听网页加载事件,在网页加载时获取navigator.onLine
的值
window.addEventListener('load', () => {
const status = navigator.onLine;
});
上面的做法在网站最开始加载的时,是可以准确获取用户的网站状态的。但是有一个缺点,就是当获取完用户的网络状态后,网络又发生改变,状态值会无法及时更新!!!
我们可以写一个监听断网和联网来解决这个问题
window.addEventListener('offline', (e) => {
console.log('offline');
});
window.addEventListener('online', (e) => {
console.log('online');
});