Webstorage
一、 H5为客户端存储数据的方式有两种:
1、localStorage(这种方法浏览器关闭打开依然存在);
2、sessionStorage(针对一个session的本地存储);
以前都是由cookie来完成的,cookie的特点是存储量小,在服务器和客户端之间来回传递,传输效率不高。一般可以在判断注册的用户是否登录该本网站。
二、webStorage API继承于Window对象,并提供了两个属性window.localStorage和window.sessionStorage;
三、H5新出的一定会比以前的有有点:
1、相比cookie存储容量增加;
2、可以将请求的表单数据存于本地,减少http请求,节约带宽;
3、webStorage拥有易用的API;
四、但是webStorage也有局限性;
1、不同浏览器webStorage 和LocalStorage的大小不统一;
2、在浏览器的隐私模式下面是不可读取的;
3、本质上是对字符串的读取,因此存储内容过多时页面会变卡;
4、不能被爬虫抓取到;
五、使用webStorage
1.存储数据:
localStorage.name = 'value';
localStorage['name'] = 'value';
localStorage.setItem('name','value');
注意键和值都是字符串。API(setItem,getItem,removeItem,key,length)。
3.删除数据:
清空所有数据
localStorage.clear();
删除特定数据;
localStorage.removeItem('name');
4.检测浏览器是否支持:
function storageAvailable(type) {
try {
var storage = window[type],
x = 'storage_test';
storage.setItem(x, x);
storage.removeItem(x);
return true;
}
catch(e) {
return false;
}
}
if (storageAvailable('localStorage')) {
// Yippee! We can use localStorage awesomeness
}
else {
}
5.就是存储对象了,我们需要进行转换为字符串存入,等到使用的时候取出再转为对象。
var str = JSON.stringify(obj);
localStorage.mydata = str;
var obj = JSON.parse(localStorage.mydata);