美文网首页
同域名项目localStorage相互影响(个人笔记)

同域名项目localStorage相互影响(个人笔记)

作者: kevision | 来源:发表于2020-08-26 18:20 被阅读0次

本文参考:https://www.cnblogs.com/wy90s/p/9962705.html

localStorage共享情况:

1、不同浏览器无法共享localStorage和sessionStorage的值。

2、相同浏览器下,并且是同源窗口(协议、域名、端口一致),不同页面可以共享localStorage值,通过跳转的页面可以共享sessionStorage值。

3、关于sessionStorage,通常说sessionStorage关闭页面即消失,但是通过跳转的页面可以共享sessionStorage值,跳转有多种方式:

    (1)  <a href="同源页面" target="_self">跳转</a>    //原窗口
    (2) <a href="同源页面" target="_blank">跳转</a>  //新开窗口
    (3) window.location.href = '同源页面'      //原窗口
    (4) window.location.replace('同源页面')   //原窗口
    (5) window.open('同源页面')       //新开窗口
    (6) this.$router.push({path: '同源页面'})   //通过路由跳转共享值

存在问题:

同源的前台和后台项目,一个网页退出登录,另一个网页也退出登录

原因:

两个项目退出登录后都使用localStorage.clear()来清空本地存储,由于同源情况下localStorage相互影响,导致其中一个退出,另一个也同时清空了存储。由于token存储在localStorage里面,另一个也没有了token,于是退出登录。

解决方法:

不要使用localStorage.clear()来清空本地存储,只使用localStorage.removeItem()来清除本项目相应的存储。

相关文章

网友评论

      本文标题:同域名项目localStorage相互影响(个人笔记)

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