关于javascript:JS中监听网络状况的常用方法

1. navigator.onLine

返回的是布尔值true示意在线,false示意离线。

onLine属性只能简略判断网络的断开和连贯状态,而不能监听网络状态的变动,例如从4g到3g。

function updateOnline() {
    console.log(navigator.onLine ? 'online' : 'offline');
}

window.addEventListener('online', updateOnline);
window.addEventListener('offline', updateOnline);

兼容性

2. navigator.connection

能监听到具体的网络变动(例如从4g变动到了3g),但不能监听到是离线状态还是在线状态。

const connection = navigator.connection || navigator.mozConnection || navigator.webkitConnection;

connection.addEventListener('change', () => {
    // connection.effectiveType返回的是具体的网络状态:4g/3g/2g
    console.log(connection.effectiveType);
});

兼容性

能够看到,connection的兼容性比拟低,在理论开发中审慎应用。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理