[html5]navigator.online属性检测用户是否在线


navigator.online属性检测用户是否在线

以前我写webapp时都是通过ajax的超市时间来测试用户是否在线的。

 if (navigator.onLine) {      //在线 }  else {      //离线状态 } 

这个html5的 navigator的新特性可以搞定.navigator.onLine属性,值为true表示设备能上网,值为false表示设备离线。

同时我们还可以监听用户在线离线的动作

 var el = document.body; if (el.addEventListener) {    window.addEventListener("online", function () {      alert("online");}, true);    window.addEventListener("offline", function () {      alert("offline");}, true); } else if (el.attachEvent) {    window.attachEvent("ononline", function () {      alert("online");});    window.attachEvent("onoffline", function () {      alert("offline");}); } else {    window.ononline = function () {      alert("online");};    window.onoffline = function () {      alert("offline");}; } 

注意,检测ononline事件,要绑定在window对象上

截止到今天,最新的浏览器都能正确使用这个属性。

目前除了IE(IE只支持navigator.onLine属性)外,其他最新浏览器都支持这个事件。

http://www.w3.org/TR/2008/WD-html5-20080610/diff/offline.html#browser0

参考 http://www.ibm.com/developerworks/cn/web/1011_guozb_html5off/

github也有人封装了比较完备的方法  https://github.com/PixelsCommander/OnlineJS

参考  http://help.dottoro.com/ljnasgpu.php


4 responses on “[html5]navigator.online属性检测用户是否在线

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>