html监控用户在线与离线,用JavaScript检测离线/在线状态

这两年离线浏览技术越来越流行,最常见的就是HTML5移动应用里,有很多普通的Web app也使用了这些技术。但是,新技术的出现有时会给我们WEB开发人员带领额外的苦恼,比如,如何判断用户现在是在线还是离线?幸好,有矛就有盾,JavaScript里的navigator对象帮我们解决这个问题。

navigator.onLine

navigator.onLine属性能给我们提供一个布尔值,用来判断用户是否连接了互联网。你可以这样访问它:

if(navigator.onLine) { // true|false

// ...

}

没有比这更简单的了!

事件

我们除了能检测这个离线/在线属性值外,还可以绑定offline 和 online事件:

function updateIndicator() {

// 这时可以根据offline/online按钮的颜色

}

// 根据网络连接情况更新在线状态

window.addEventListener('online', updateIndicator);

window.addEventListener('offline', updateIndicator);

updateIndicator();

当然,老式的技术里也提供了相应的方法,在body标记上使用ononline 和 onoffline 方法。

我可以想象到很多地方都需要使用这些事件和属性。比如一种情况,当用户正在工作时,断网了,如果我们的WEB应用可以检测出这种状态,可以将用户的写作保持到本地的Web Storage里,等网络恢复后,再提交到服务器上,这样,断网将不会给用户的写作带来影响。这只是一个简单的例子,相信你能想出更多。

需要提醒的是,这个API并不是那么可靠。最古老的定时刷新的技术可以当做一种备案。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值