当前位置:首页 > 英文周记 > 正文内容

sessionstorage的简单介绍

更新时间:2026-07-18 05:45:55 周记网4年前 (2023-01-17)英文周记385

sessionStorage为啥能做到窗口隔离

因为sessionStorage数据在当前浏览器窗口关闭后自动删除。

sessionstorage的简单介绍

sessionStorage 属性允许你访问一个,对应当前源的session Storage对象。

它与localStorage相似,不同之处在于localStorage里面存储的数据没有过期时间设置,而存储在sessionStorage里面的数据 在页面会话结束时会被清除。

生命周期

页面会话在浏览器打开期间一直保持,并且重新加载或恢复页面,仍会保持原来的页面会话(恢复数据)。

在新标签或窗口打开一个页面(从项目跳转新开一个页面)时会**顶级浏览会话的上下文作为新会话的上下文,这点和 session cookies 的运行方式不同。

打开多个相同的URL的Tabs页面,会创建各自的sessionStorage(多开同一项目,不会共享sessionStorage)。

关闭对应浏览器窗口,会清除对应的sessionStorage。

适合:解决项目支持多开导致共享数据引发的问题。

巧用sessionStorage判断页面是关闭还是刷新?

可能大家会有很多种方式可以实现,但是我今天给大家分享的一个纯前端的实现。\x0d\x0a\x0d\x0a全部代码也就这么几行,其中用到两个新特性sessionStorage和localStorage。\x0d\x0a\x0d\x0alocalStorage用来存储用户最后访问的url,sessionStorage的变量用来判断用户当前行为是新进系统,还是只是刷新页面。\x0d\x0a\x0d\x0a01 if(sessionStorage.opened){ \x0d\x0a02 console.log('窗口是刷新页面,不是新打开') \x0d\x0a03 }else{ \x0d\x0a04 console.log('窗口是新打开') \x0d\x0a05 //如果获取到历史url,则重定向到历史地址 \x0d\x0a06 if(localStorage.history localStorage.history != window.location.href ){ \x0d\x0a07 window.location.replace(localStorage.history); \x0d\x0a08 } \x0d\x0a09 } \x0d\x0a10 sessionStorage.setItem('opened','true'); \x0d\x0a11 localStorage.setItem('history',location.href);

session storage可以删除吗

sessionStorage是用来存储客户端临时信息的对象。

它均只能存储字符串类型的对象(虽然规范中可以存储其他原生类型的对象,但是目前为止没有浏览器对其进行实现)。

sessionStorage生命周期为当前窗口或标签页,一旦窗口或标签页被永久关闭了,那么所有通过sessionStorage存储的数据也就被清空了。

不同浏览器无法共享localStorage或sessionStorage中的信息。相同浏览器的不同页面间可以共享相同的localStorage(页面属于相同域名和端口),但是不同页面或标签页间无法共享sessionStorage的信息。

巧用sessionStorage判断页面是关闭还是刷新

可能大家会有很多种方式可以实现,但是我今天给大家分享的一个纯前端的实现。\x0d\x0a\x0d\x0a全部代码也就这么几行,其中用到两个新特性sessionStorage和localStorage。\x0d\x0a\x0d\x0alocalStorage用来存储用户最后访问的url,sessionStorage的变量用来判断用户当前行为是新进系统,还是只是刷新页面。\x0d\x0a\x0d\x0a01 if(sessionStorage.opened){ \x0d\x0a02 console.log('窗口是刷新页面,不是新打开') \x0d\x0a03 }else{ \x0d\x0a04 console.log('窗口是新打开') \x0d\x0a05 //如果获取到历史url,则重定向到历史地址 \x0d\x0a06 if(localStorage.history localStorage.history != window.location.href ){ \x0d\x0a07 window.location.replace(localStorage.history); \x0d\x0a08 } \x0d\x0a09 } \x0d\x0a10 sessionStorage.setItem('opened','true'); \x0d\x0a11 localStorage.setItem('history',location.href);

sessionstorage缓存是同步还是异步

sessionstorage缓存可以是同步,也可以是异步。根据查询网站相关***息显示:

1、sessionstorage缓存同步缓存只有当当前任务执行完后,才能执行下一项,异步这不会阻止当前任务。

2、sessionStorage作为html5中WebStorage的一种存储方式,localStorage和sessionStorage一样都是用来存储客户端临时信息的对象,sessionStorage属性允许在浏览器中存储key/value对的数据,但是,sessionStorage用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。

标签: sessionstorage

“sessionstorage的简单介绍” 的相关文章

关于sessionstorage的信息

关于sessionstorage的信息

sessionstorage缓存是同步还是异步 sessionstorage缓存可以是同步,也可以是异步。根据查询网站相关公开信息显示:1、sessionstorage缓存同步缓存只有当当前任务执行完...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。