(一)离线检测
单独使用navigator.onLine不能确定网络连通,配合两个HTML5事件使用
//测试网络连通
if(navigator.onLine) {
//正常任务
}else {
//离线任务
}
EventUtils.addHandler(window, "online", function() {
})
EventUtils.addHandler(window, "offline", function() {
})
页面加载后,最好先通过navigator.onLine取得初始状态,然后再用两个事件监听。
(二)应用缓存
appcache是浏览器缓存的一部分,描述文件里面写了离线后要用的文件,描述文件的类型是text/cache-manifest
applicationCache对象的status属性,表示应用缓存的状态
状态值 | 描述 |
---|---|
0 | 无缓存 |
1 | 应用缓存未更新 |
2 | 下载描述文件检查更新 |
3 | 下载中 |
4 | 更新完成 |
5 | 废弃,缓存描述文件不存在 |
应用缓存的事件
事件 | 描述 |
---|---|
checking | 查找更新触发 |
error | 更新下载期间出错 |
noupdate | 描述文件无变化 |
downloading | 开始下载缓存 |
process | 下载过程持续触发 |
updateready | 下载完并且能通过swapCache时触发 |
cached | 缓存完整时触 |