- sessionStorage、localStorage、cook
- localStorage、sessionStorage、Cook
- localStorage、sessionStorage、Cook
- localStorage、sessionStorage、Cook
- localStorage、sessionStorage、Cook
- LocalStorage,SessionStorage,Cook
- sessionStorage、localStorage、cook
- localStorage、sessionStorage、Cook
- localStorage、sessionStorage、cook
- localStorage、sessionStorage、Cook
先看各个缓存的使用,后面介绍优缺点和不同
localStorage
// 创建
localStorage.setItem("name","张三")
// 读取
localStorage.getItem("name")
// 清除制定
localStorage.removeItem("name") // undefined
// 清除全部
localStorage.clear() // undefined
// 不常用 获取当前storage中的元素数目
localStorage.Length()
// 不常用 获取键名
localStorage.key(0) // 0===获取第一个键名
sessionStorage
// 创建
sessionStorage.setItem("name", "李四");
// 读取
sessionStorage.getItem("name")
// 清除制定
sessionStorage.removeItem("name") // undefined
// 清除全部
sessionStorage.clear() // undefined
// 不常用 获取当前storage中的元素数目
sessionStorage.Length()
// 不常用 获取键名
sessionStorage.key(0) // 0===获取第一个键名
cookie
// 设置cookie
setCookie(name,value,expiredays){//设置时间为天为过期单位
var exdate=new Date();
exdate.setDate(exdate.getDate()+expiredays);
document.cookie=name + '=' + escape(value)+((expiredays==null) ? "" : ";expires="+exdate.toGMTString())
},
// 获取cookie
getCookie(name){
var start = document.cookie.indexOf(name+'=')
var end = document.cookie.indexOf(';',start)
if(end=-1){
end = document.cookie.length
}
return unescape(document.cookie.substring(start,end))
}
总结
一、共同点
1. 都是保存在浏览器端
二、不同点(特点)
1.cookie有储存4k的数据限制;
2.cookie的数据在请求头,导致流量增加;
3.localStorage生命周期:持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的;
4.localStorage存储的信息在同一域中是共享的;
5.localStorage本质上是对字符串的读取,如果存储内容多的话会消耗内存空间,会导致页面变卡;
6.sessionStorage和localStorage 都受到同源策略限制;
7.sessionStorage比localStorage更严苛一点,除了协议、主机名、端口外,还要求在同一窗口(也就是浏览器的标签页)下。
8.sessionStorage当会话结束(当前页面、标签页关闭的时候,自动销毁);
9.sessionStorage和localStorage 据说是5M. (目前没有超过限制的);
10.sessionStorage和localStorage只能通过客户端操作,cookie既可以通过客户端操作又可以通过服务端操作
个人原因(cookie用的少,所以单独学习下)
cookie
单独提出来cookie。照搬别人写的。
设置cookie的方式,及可以添加的参数
一、expires(过期时间)
过了过期时间,浏览器就会删除该cookie,想要删除cookie,只需要把它过期时间设置成过去的时间即可(如果不设置过期时间,则表示这个cookie生命周期为浏览器会话期间,只要关闭浏览器窗口,cookie就消失了。)
例如:
document.cookie = "username=linda; expires=Thu, 18 Dec 2013 12:00:00 GMT; path=/" // 设置cookie
document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 GMT" // 删除cookie
一、path(路径)
(值可以是一个目录,或者是一个路径。)
如果cc.com/test/index.html建立了一个cookie,那么在cc.com/test/目录里的所有页面,以及该目录下面任何子目录里的页面都可以访问这个cookie。因此在cc.com/test/test2/test3里的任何页面都可以访问cc.com/test/index.html建立的cookie。若cc.com/test/若想访问cc.com/test/index.html设置的cookie,需要把cookie的path属性设置成“/”。
在指定路径的时候,凡是来自同一服务器,URL里有相同路径的所有WEB页面都可以共享cookies。
3.domain(主机名,是指同一个域下的不同主机)
例如:www.baidu.com和map.baidu.com就是两个不同的主机名。默认情况下,一个主机中创建的cookie在另一个主机下是不能被访问的,但可以通过domain参数来实现对其的控制:document.cookie = "name=value;domain=.baidu.com"
这样,所有*.baidu.com的主机都可以访问该cookie。
可以用此特性实现
网友评论