美文网首页
sessionStorage,localStorage生命周期

sessionStorage,localStorage生命周期

作者: holy俊辉 | 来源:发表于2018-05-23 21:45 被阅读42次

    sessionStorage,localStorage生命周期

    他们两个的区别还是大致知道,包括用法,但是针对生命周期理解的还是不够,于是还是写一发吧,特别是sessionStorage的生命周期

    MDN上是这样解释sessionStorage的

    sessionStorage 属性允许你访问一个 session Storage 对象。它与 localStorage 相似,不同之处在于 localStorage 里面存储的数据没有过期时间设置,而存储在 sessionStorage 里面的数据在页面会话结束时会被清除。页面会话在浏览器打开期间一直保持,并且重新加载或恢复页面仍会保持原来的页面会话。在新标签或窗口打开一个页面会初始化一个新的会话,这点和 session cookies 的运行方式不同。

    其他的博客解释

    sessionStorage的生命周期是在仅在当前会话下有效。sessionStorage引入了一个“浏览器窗口”的概念,sessionStorage是在同源的窗口中始终存在的数据。只要这个浏览器窗口没有关闭,即使刷新页面或者进入同源另一个页面,数据依然存在。但是sessionStorage在关闭了浏览器窗口后就会被销毁。同时独立的打开同一个窗口同一个页面,sessionStorage也是不一样的。

    这一段描述的seesionStorage是什么意思呢

    就是只有在打开当前页面的sessionStorage是同一个,刷新也是保持在sessionStorage中的,但是只要打开新页面,即使是同一个页面,这个sessionStorage也是不一样的,使用不同的浏览器打开页面sessionStorage也是不一样的。

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="utf-8">
    </head>
    
    <body>
        <button class="btn">存储</button>
        <script>
        function $(ele) {
            return document.querySelector(ele);
        }
        $('.btn').addEventListener('click', function() {
            sessionStorage.setItem('usernameyy', 'yy');
    localStorage.setItem('usernamexx', 'xx');
        });
    
        console.log(sessionStorage.getItem('username'));
        </script>
    </body>
    
    </html>
    

    点击存储按钮之后会存储sessionStorage和localStorage,但是使用当前浏览器打开新页面或者新窗口查看sessionStorage都是没有的,但是localStorage是有的。这就是他们的生命周期。

    sessionStorage 生命周期遇到的问题

    浅谈session,cookie,sessionStorage,localStorage的区别及应用场景
    Window.sessionStorage

    相关文章

      网友评论

          本文标题:sessionStorage,localStorage生命周期

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