美文网首页
localStorage和SessionStorage

localStorage和SessionStorage

作者: Camilia_yang | 来源:发表于2019-03-23 23:34 被阅读0次

LocalStorage是HTML5提供的API,是用来操作当前页面里面的哈希。LocalStorage只能存字符串。
Session是服务器上的哈希,LocalStorage是浏览器上的哈希(其实是存在C盘里)。
localStorage是为了实现跨页面的持久化存储(html5出来之前的跨页面持久化存储只能通过cookie实现的,cookie也是存在C盘,但因为每次请求都会带上cookie,当cookie存储太多东西时,请求的负担就会变得很大,请求变得很慢),意思就是在跨页面的时候记录一些信息。在浏览器中,当我们刷新页面时,浏览器中所有变量都会销毁,这时我们可以将不想要被销毁的信息记录在localStorage里,因为localStorage里的信息不会被销毁。

常用的API:localStorage.setItem()、localStorage.getItem()、localStorage.clear()

举一个简单的例子,也是LocalStorage常见的应用场景。
我们需要在用户进入我们的网站主页时,提示用户一些信息,如下

  <script>
        alert('我们的网页改版了,增加了新功能!')
  </script>

而且,我们希望只提醒用户一次。意思就是,不要用户每次刷新主页都弹出,这样用户体验不好。所以,我们就需要跨页面记录下‘已经提示过’这个信息。

  <script>
let ready=localStorage.getItem('已经提示过')
if(!ready){
        alert('我们的网页改版了,增加了新功能!')
        localStorage.getItem('已经提示过',true)
}
  </script>

总结

localStorage

1.localStorage跟HTTP无关
2.HTTP不会带上localStorage的值
3.只有相同域名的页面才能互相读取localStorage(没有同源那么严格)
4.每个域名localStorage容量是有限的,最大存储为5M左右(每个浏览器不一样)
5.常用场景:记录有没有提示过用户之类的信息(不重要的信息,不能记录密码)
6.localStorage永久有效,无法设置过期时间,除非用户清除缓存(ctrl+shift+delete,"cookie及其他网站数据")

SessionStorage(会话存储)

1、2、3、4同上,
区别是失效时间,localStorage永久有效,而SessionStorage会在用户关闭浏览器后(会话结束)失效。
常用API也一样。
localStorage

注意:SessionStorage和服务器的session一点关系没有!SessionStorage里的Session意思是“会话”,服务器的session不翻译,和“会话”一点关系没有!

相关文章

网友评论

      本文标题:localStorage和SessionStorage

      本文链接:https://www.haomeiwen.com/subject/jmnevqtx.html