禁止同域名下的其他页面修改、清除本地存储

在项目里测试同学提了一个缺陷,就是当前页面跳转到其他同源页面时,由于一些其他原因,被其他页面阻止访问,并触发了其他页面清空本地存储的操作,导致了我们的当前页面也被提回登录页面,需要重新登录的情况。。。。倒腾了一阵子,记录一下备忘

1、main.js页面添加以下代码

// 用来阻止不是自己负责的却是同域名的其他页面清空本地存储local的方法
window.changeLocalStatus = (flag) => { // 设置一个全局的阻止改变local的方法
  window.preventChangeLocal =  (e) => {
    let localValue = localStorage.getItem('xxl_sso_sessionid')
       // 如果sessionId被修改了 或者 local被清空了
      if(localValue !== window.localStorageValue || localStorage.length === 0) {

      localStorage.setItem('xxl_sso_sessionid',window.localStorageValue)
      console.log('重新设置了xxl_sso_sessionid');
    }
  }
  if (flag === 1) {
    window.addEventListener('storage', window.preventChangeLocal)
    console.log('本地存储被锁定了')
  } else {
    window.addEventListener('storage', window.preventChangeLocal)
    console.l
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值