离线应用和本地存储

一、离线缓存

 

网络状态:
浏览器的网络状态是否畅通与网线是否连接没有关系,只要设备的网卡在活动,那么网络就是畅通的。

1.通过navigator.onLine的值判断
true:网络畅通
false:网络断开

2 给window对象添加事件,可以动态地监听网络状态的变化:
window.addEventListener(“online”,onlineCallback);
window.addEventListener(“offline”,offlineCallback);

 

 

 

 

 

 

如何使页面可以离线使用:
1.在服务器中准备离线清单文件
2.在需要缓存的html文件的html标签中配置manifest属性。

 

 

 

 

 

清单文件的格式:

 

 

 

离线缓存原理图(重点)

 

 

 

二、本地数据存储

 

1.Cookie
Cookie是服务器存放在浏览器客户端的一些数据文件,这些文件最大只能装4kb的数据。

2.WebStorage
是HTML5提供了本地数据存放的API,
WebStorage分为localStorage和sessionStorage,它们的用法完全相同,只是存放数据的时间不同。SessionStorage保存的数据在浏览器关闭之后就会被删除。而localStorage是永久存放的。除非认为删除。

API:
1. 使用setItem函数“key/value”的形式,存放数据
window.localStorage.setItem(‘username’,‘张三’);
2. 使用getItem函数根据指定key获取value
window.localStorage.getItem(‘username’);
3. 通过key函数获取指定位置的键
window.localStorage.key(index);
4. length属性可以获取storage中数据的条数
5. 通过key,删除对应的value
window.localStorage.removeItem(‘username’);
6. 删除所有的数据
window.localStorage.clear();

注意,webStorage只能存放字符串。
如果想存放对象,必须先转换为JSON格式的特殊字符串。

 

 

获取数据时再还原成对象:

 

 

posted @ 2020-07-13 10:26  怪咖女王  阅读(233)  评论(0编辑  收藏  举报