sessionStorage的理解和使用

Web Storage 包含如下两种机制:

  • sessionStorage 为每一个给定的源(given origin)维持一个独立的存储区域,该存储区域在页面会话期间可用(即只要浏览器处于打开状态,包括页面重新加载和恢复)。
  • localStorage 同样的功能,但是在浏览器关闭,然后重新打开后数据仍然存在。

这两种机制是通过 Window.sessionStorage 和 Window.localStorage 属性使用(更确切的说,在支持的浏览器中 Window 对象实现了 WindowLocalStorage和 WindowSessionStorage 对象并挂在其 localStorage 和 sessionStorage 属性下)—— 调用其中任一对象会创建 Storage 对象,通过 Storage 对象,可以设置、获取和移除数据项。对于每个源(origin)sessionStorage 和 localStorage 使用不同的 Storage 对象——独立运行和控制。

语法

// 保存数据到sessionStorage
sessionStorage.setItem('key', 'value');

// 从sessionStorage获取数据
var data = sessionStorage.getItem('key');

// 从sessionStorage删除保存的数据
sessionStorage.removeItem('key');

// 从sessionStorage删除所有保存的数据
sessionStorage.clear();

返回一个storage对象


<div>
			<input type="text" name="" id="field" value="" />
			<button id="deleted">deleted</button>
			<button id="clear">clear</button>
		</div>
		<script type="text/javascript">
			var clear = document.getElementById("clear");
			var deleted = document.getElementById("deleted");
			var field =document.getElementById("field");
			if (sessionStorage.getItem("autoSave")) {
				field.value = sessionStorage.getItem("autoSave");
			}
			field.addEventListener("change", function() {
			  	// 保存结果到 sessionStorage 对象中
			  	//写两个为了后面对于删除和清除的区别
			  	sessionStorage.setItem("autosave", field.value);
			  	sessionStorage.setItem("autosave1", field.value);
			});
			clear.οnclick=function(){
				sessionStorage.clear();
			};
			deleted.οnclick=function(){
				sessionStorage.removeItem("autosave");
			};
		</script>


注意点:
1、页面刷新不会消除数据,浏览器或者页面关闭才会清除数据;
2、 sessionStorage不跨窗口,在另外一个窗口打开sessionStorage就不存在了,它只在当前窗口有效;
3、大小不超过5M;
4、不自动发送数据到服务器;
5、使用window.open打开页面和改变localtion.href方式都可以获取到sessionStorage内部的数据


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
localStorage、sessionStorage和cookie是前端本地存储数据的三种方式。它们在生命周期、数据传递、数据有效期、存储大小和作用域等方面有一些不同之处。 1. 生命周期:cookie在浏览器与服务器之间来回传递,而sessionStorage和localStorage仅在本地保存。在处理同一个浏览器登录同一个网站但是是不同用户的时候会使用sessionStorage来区分不同用户。 2. 数据有效期:cookie只在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭。sessionStorage仅在当前浏览器窗口关闭前有效,而localStorage始终有效,长期保存。 3. 存储大小:cookie数据不能超过4k,而sessionStorage和localStorage的存储大小限制比cookie大得多,可以达到5M或更大。 4. 作用域:sessionStorage不会在不同的浏览器窗口中共享,而localStorage在所有同窗口中都是共享的。cookie也是在所有同窗口中都是共享的。 综上所述,localStorage、sessionStorage和cookie在数据传递、数据有效期、存储大小和作用域等方面存在差异,开发者可以根据实际需求选择合适的方式来进行前端本地数据存储。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [简单理解cookie、sessionStorage和localStorage](https://blog.csdn.net/weixin_47340917/article/details/122610025)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [cookie、sessionStorage和localStorage的区别](https://blog.csdn.net/weixin_42614080/article/details/90706499)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值