问题背景:项目的页面(A)被其他企业的页面(B)嵌套使用,当用户使用chrome无痕模式访问 B 页面时,A 页面中用到了 locakStorage, 但是在无痕模式和iframe嵌套双buff 下,cookie 和localStorage被禁用了。
解决的思路: 判断1.B页面被访问时,是否处于嵌套下。2.浏览器是否禁用localStorage。(来等价浏览器开启无痕模式)
1 判断当前页面是被iframe嵌套访问
window.self === window.top // 当前窗体 === 最上层窗体(false表示被嵌套,到B页面中去验证)
2 判断当前浏览器
如果是其他浏览器也可以同样判断。
/Chrome/i.test(window.navigator.userAgent) // 返回值为 true of false
/firefox/i.test(window.navigator.userAgent)
/msie/i.test(window.navigator.userAgent) // IE浏览器
3 代码


















