web离线应用前提之离线检测

离线web应用就是,设备不能上网情况下仍可以运行的应用。

    开发离线应用需要几个步骤,首先确保知道设备能否上网,以便下一步执行正确的操作。然后应用还能访问一定的资源(图像,css,js),之后这样才能正常工作,最后必须有一块本地空间用于保存数据,无论能否上网都不影响读写。

离线检测:navigator.onLine属性,true表示能上网,false表示设备离线。

支持的浏览器 ie6+,Safari5+,chorme11+ 都已经支持

firefox3+ 和opera10.6+ 支持navigator.online属性,但你必须勾选,菜单项-》web 开发人员(设置)-》脱机工作 才能让浏览器正常工作。

由于存在兼容问题,单独使用navigator.online属性不能确定网络是否连通,即便如此,在请求发生错误的情况下。检测这个属性仍然管用。实例如下:

if(navigator.online){
    //正常工作
} else {
    //执行离线状态时的任务
}

除了navigator.online 属性之外,为了更好的确定网络是否可用,html5还定义了两个事件:online 和offline,当网络从离线变为在线时,或从在线变为离线时候触发:

EventUtil.addHandler(window,'online',function() {
    alert('online')
})

EventUtil.addHandler(window,'offline',function() { alert('offline') }) 

扫码加群,每日更新一篇前端技术文章一起成长。

猜你喜欢

转载自www.cnblogs.com/bbqq1314/p/12545469.html