离线检测:
开发离线应用的第一步是知道设备是在线还是离线,HTML5因此定义了一个navigator.onLine属性,这个属性值为true表示设备能正常上网。
在IE6+和Safari5+能够正确检测到网络已经断开,并将navigator.onLine属性转换为false
Firefox3+和Opera10.6+支持navigator.onLine属性,但是你必须手工选中菜单项“文件——>Web开发人员(设置)——>脱机工作”才能让浏览器正常工作
Chorome11及之前的版本始终设置这个属性为true,这是一个有待修复的bug
正是因为有以上这些兼容性问题的存在,单独使用navigator.onLine还不能准确的检测网络是否联通
除了navigator.onLine属性之外,HTML5还定义了两个事件:online和offline,分别在从离线到在线和从在线到离线时触发
EventUtil.addHandler(window,"online",function(){XXX});
EventUtil.addHandler(window,"offline",function(){XXX});
为了检测应用是否离线,在页面加载之后,最好通过navigator.online取得最初的状态。当触发上述两个事件的时候navigator.onLine属性值也会改变,因此需要手工轮询这个属性才能检测到网络状态的变化