运行离线应用是HTML5的另一个重点。在没有网络的下也能运行的应用就是离线应用。
要实现离线应用必须满足三点:
1、确保应用知道设备能否上网,这样才能执行下一步操作。
2、必须能访问到一些资源,比如:css、图像、JavaScript。
3、要有一定的存储空间来保存数据。
离线检测
开发离线应用的第一步就是要检测该设备能否上网,离线检测可以使用navigator.onLline来检测设备能否上网,如果能够上网则返回true,反之,返回false。
if (navigator.onLine) {
console.log("该设备能上网");
//正常工作
} else {
console.log("不能上网,为离线状态");
//执行离线状态时的任务
}
除了这个方法,HTML5还提供了两个事件来更好地检测:online和offline。当网络从离线状态转变成在线状态时 和从在线状态转变成离线状态时分别触发事件。这两个事件是在window对象触发的。
当然,先用navigator.onLine来取得初始化值,再用这两个事件会更好。
if (navigator.onLine) {
console.log("该设备能上网");
//正常工作
} else {
console.log("不能上网,为离线状态");
//执行离线状态时的任务
}
//当从离线转变成在线状态时触发