localStorage与sessionStorage区别
localStorage与sessionStorage区别:
浏览器正常模式下:
关闭浏览器或该窗口标签时,localStorage数据依然保存,但是sessionStorage数据会被清除。
浏览器无痕浏览模式下:
关闭窗口标签页,localStorage数据依然保存,但是sessionStorage数据会被清除。
关闭浏览器,localStorage,sessionStorage数据均被清除。
cookie 不适合大量数据的存储,因为它们由每个对服务器的请求来传递,这使得 cookie 速度很慢而且效率也不高。
交互打开情况:
在浏览器的正常模式下,再打开正常模式窗口,localStorage数据依然保存,但是sessionStorage数据会被清除。
在浏览器的正常模式下,再打开无痕浏览模式窗口,这时候只要有无痕浏览窗口存在,localStorage就是上次无痕浏览模式下的localStorage,但是sessionStorage依旧被清除。类似在无痕浏览模式下,打开一个新的无痕标签页。否则,就是两者数据都清除。
在浏览器的无痕浏览模式下,再打开正常模式窗口,这时候localStorage是上一次正常模式下的localStorage,但是sessionStorage依旧被清除。类似在正常模式下,打开一个新的正常模式标签页或者重新打开浏览器。
在浏览器的无痕模式下,再打开无痕浏览器窗口,localStorage数据依然保存,但是sessionStorage数据会被清除。
测试代码 demo.html
<!DOCTYPE HTML>
<html>
<body>
<p id="localStorage"></p>
<p id="sessionStorage"></p>
<script>
if (localStorage.pagecount){
localStorage.pagecount=Number(localStorage.pagecount) +1; }else{
localStorage.pagecount=1;
}
if (sessionStorage.pagecount){
sessionStorage.pagecount=Number(sessionStorage.pagecount) +1;
}else{
sessionStorage.pagecount=1;
}
document.getElementById("localStorage").innerText="调用localStorage:"+localStorage.pagecount+"次";
document.getElementById("sessionStorage").innerText="调用sessionStorage:"+sessionStorage.pagecount+"次";
</script>
</body>
</html>
先清除浏览器之前的浏览数据
以google浏览器为例:
- 打开demo.html,会发现localStorage与sessionStorage均为1;
- 打开一个空标签页,关闭demo.html标签页,重新打开demo.html,localStorage为2,sessionStorage为1;
- 关闭浏览器,再次打开demo.html,localStorage为3,sessionStorage为1;
- 刷新当前标签页,localStorage为4,sessionStorage为2;
- 打开隐身窗口,打开demo.html,localStorage与sessionStorage均为1;
- 在隐身窗口下,打开一个空标签页,关闭demo.html标签页,重新打开demo.html,localStorage为2,sessionStorage为1;
- 关闭隐身窗口,再次用隐身窗口打开demo.html,localStorage与sessionStorage均为1;
- 在隐身窗口下,刷新当前标签页,localStorage与sessionStorage均为2;
- 在当前隐身窗口打开正常窗口,打开demo.html,localStorage为5,sessionStorage为1;
- 在当前正常窗口打开隐身窗口,打开demo.html,localStorage为3,sessionStorage为1;
localStorage与sessionStorage区别的更多相关文章
- cookie、session、localStorage、sessionStorage区别
cookie.session 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份 ...
- [javascript]localStorage和sessionStorage区别
一.sessionStorage.localStorage.cookie可查看的位置,F12=>Application: 二.cookie .sessionStorage与localStorag ...
- Cookie、Session、localStorage、sessionStorage区别和用法
Cookie 在学习一个新知识点前,我们应该明白自己的学习目标,要带着疑问去学习,该小节须要了解 Cookies 什么是cookie,cookie的作用 cookie的工作机制,即cookie是运作流 ...
- localStorage和sessionStorage区别
localStorage和sessionStorage一样都是用来存储客户端临时信息的对象. 他们均只能存储字符串类型的对象(虽然规范中可以存储其他原生类型的对象,但是目前为止没有浏览器对其进行实现) ...
- localStorage和sessionStorage区别(包括同源的定义)
localStorage和sessionStorage一样都是用来存储客户端临时信息的对象. 他们均只能存储字符串类型的对象(虽然规范中可以存储其他原生类型的对象,但是目前为止没有浏览器对其进行实现) ...
- cookie,localStorage和sessionStorage区别
三者的异同 特性 Cookie localStorage sessionStorage 数据的生命期 一般由服务器生成,可设置失效时间.如果在浏览器端生成Cookie,默认是关闭浏览器后失效 除非被清 ...
- cookie、localStorage和sessionStorage区别
三者区别见下表: 说明: cookie的处理过程为: 服务器向客户端发送cookie 浏览器将cookie保存 之后每次http请求浏览器都会将cookie发送给服务器端 对于 cookie,我们还需 ...
- cookie和localstorage、sessionstorage区别
cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递.sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存. ...
- cookie、localstorage、sessionstorage区别
localstorage sessionsorage cookie 大小 浏览器不能保存超过300个cookie,单个服务器不能超过20个,每个cookie不能超过4k 可以达到5M 可以达到5M ...
随机推荐
- ASP.NET Core 四种释放 IDisposable 对象的方法
本文翻译自<Four ways to dispose IDisposables in ASP.NET Core>,由于水平有限,故无法保证翻译完全正确,欢迎指出错误.谢谢! IDispos ...
- python编程快速上手之第5章实践项目参考答案
#!/usr/bin/env python3.5 # coding:utf-8 # 5.6.1 # 好玩游戏的物品清单 # 给定一个字典,包含物品名称和数量,并打印出数量对应的物品 dict_stuf ...
- 谈谈tableView的重要属性内边距
全屏穿透效果需要做到两点 tableView的可视范围占据整个父控件(或者屏幕)--设置contentsize滚动范围. 所有的cell都可以被看到,也就是说tableView中的cell不会被导航栏 ...
- 业余草教你解读Spark源码阅读之HistoryServer
HistoryServer服务可以让用户通过Spark UI界面,查看历史应用(已经执行完的应用)的执行细节,比如job信息.stage信息.task信息等,该功能是基于spark eventlogs ...
- Java List Remove时要注意的细节
1.如果你是在遍历的时候去remove一个对象 for(int i = 0, length = list.size(); i<length; i++){} 这种遍历需要每次remove时,对i- ...
- Linux Redis 重启数据丢失解决方案,Linux重启后Redis数据丢失解决方
Linux Redis 重启数据丢失解决方案,Linux重启后Redis数据丢失解决方案 >>>>>>>>>>>>>> ...
- [转]从入门到精通: 最小费用流的“zkw算法”
>>>> 原文地址:最小费用流的“zkw算法” <<<< 1. 网络流的一些基本概念 很多同学建立过网络流模型做题目, 也学过了各种算法, 但是对于基本 ...
- MySQL系列(一)--基础知识大总结
MySQL系列(一)---基础知识大总结 前言:本文主要为mysql基础知识的大总结,mysql的基础知识很多,这里只是作为简单的介绍,但是具体的细节还是需要自行搜索.当然本文还有很多遗漏的地方,后续 ...
- log4j日志重定向
配置相应的类名或者包名,将日志重新定向到输入文件里 log4j.rootLogger=INFO,DEBUG,CONSOLE ##过滤日志 log4j.logger.[类名|包名]=INFO,[输出目的 ...
- AugularJS从入门到实践(三)
前 言 前端 AngularJS是为了克服HTML在构建应用上的不足而设计的.(引用百度百科) AngularJS使用了不同的方法,它尝试去补足HTML本身在构建应用方面的缺陷.Angu ...