简介
说到网页数据存储,大家第一印象想到的应该还是cookie,cookie也确实是使用最多的网页数据存储方式。HTML5 Web存储是一个比cookie更好用的本地存储,它也可以存储大量的数据,而不影响网站的性能。数据以 键/值 对存在, web网页的数据只允许该网页访问使用。
客户端存储数据的两个对象:
- localStorage - 用于长久保存整个网站的数据,保存的数据没有过期时间,直到手动去除。
- sessionStorage - 用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。
测试浏览器是否支持Web存储
if(typeof(Storage)!="undefined"){
console.log("浏览器支持Web存储");
}
localStorage对象
localStorage 对象存储的数据没有时间限制,数据永久可以使用,除非标准更改。
localStorage对象常用函数
- 保存数据:localStorage.setItem(key,value);
- 读取数据:localStorage.getItem(key);
- 删除单个数据:localStorage.removeItem(key);
- 删除所有数据:localStorage.clear();
- 得到某个索引的key:localStorage.key(index);
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
if(typeof(Storage)!="undefined"){
localStorage.myName = "WebStoreage;"//存储和更新数据
console.log(localStorage.myName);
}else{
console.log("浏览器不支持Web存储");
}
</script>
</body>
</html>
键/值对通常以字符串存储,你可以按自己的需要转换该格式。
sessionStorage对象
localStorage 和 sessionStorage 属性允许在浏览器中存储 key/value 对的数据。sessionStorage 用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。
- sessionStorage.setItem("key", "value"); 保存键值对数据。
- sessionStorage.getItem("key"); 通过键读取值。
- sessionStorage.removeItem("key"); 删除指定的键值。
- sessionStorage.clear(); 删除所有数据。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<button onclick="add()">sessionStorage++</button>
<script>
sessionStorage.count = 0;//sessionStorage赋值
function add(){
console.log(sessionStorage.count++);//更新sessionStorage
}
</script>
</body>
</html>
Chrome 浏览器,_blank 方式新开窗口,sessionStorage 存储的数据会丢失。
网友评论