谷歌浏览器无痕模式-页面空白

现象:我的项目是用iframe内嵌到别人的网站里的,谷歌浏览器页面空白,控制台报错
当使用chrome 无痕模式时, 默认阻止第三方cookie
如果使用了localStorge或者cookie , 就会在js里报错

Uncaught DOMException: Failed to read the  localStorage  property 
from  Window : Access is denied for this document.

谷歌浏览器无痕模式-页面空白

方法一:

在Chrome设置菜单中: 高级 > 隐私设置和安全性 > 内容设置 > Cookie > 阻止第三方Cookie > 将这项关闭

谷歌浏览器无痕模式-页面空白

方法二:

代码设置白名单,白名单以外的页面需要登录设置cookie,白名单不需要设置cookie,这是只针对iframe内嵌的第一个页面,不需要cookie值,把这个页面设置在白名单里,可以解决无痕报错问题
但是如果内嵌的第一个页面的确 需要来自其他网站的cookie,目前只能通过方法一

//他人的网站
<iframe src="我的网址/test" class="bottom-iframe"></iframe>

//我的项目代码router/index.js
const WHITE_LIST = [  test ]
router.beforeEach((to, from, next) => {
  if (WHITE_LIST.includes(to.name)) {
    // 白名单不需要token
  } else {
    const token = getToken()
    if (!token) {
      // 无token的处理
    } else {
      // 有token的处理
    }
  }
})

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容