Storge 在 Safari 的无痕浏览模式中的坑
来源:互联网 发布:人工智能伏羲觉醒西瓜 编辑:程序博客网 时间:2024/05/21 18:43
关于 Storge 在 Safari 的无痕浏览模式中的坑
前言
今天遇到了一个诡异的bug,一个网页在微信浏览器中是可以正常显示的,而在一些用户的 Safari 中却无法正常渲染。真是日了狗了!检查一下报错,发现这个报错很可疑:
QuotaExceededErrorThe quota has been exceeded.
Google了半天,终于发现了问题的原因可能是出在 Safari 的无痕浏览当中。
Safari在所谓的private mode下不允许使用LocalStorage功能,只有在用户自身开启non-private mode的情况下才可以正常使用LocalStorage。
果断开无痕浏览试一试,果然网页就打不开了 - -!
原因
Safari 的无痕浏览模式会这样处理 Storge
对象:
Storage
对象仍然存在。但是
setItem()
会报异常:QuotaExceededError。getItem()
和removeItem()
方法会直接忽略。
解决办法
既然知道了问题的原因,解决起来自然也就简单许多了,由于这个问题的解决方案与业务息息相关,我这里就提供几个简单的思路。
在 Safari 的无痕模式中不执行
Storage.setItem()
的部分,简单粗暴。使用 cookie 替代
Storage
对象。
至于判断是否可用 Stroage
对象,我们可以用 try...catch...
语句来判断。
阅读全文
0 0
- Storge 在 Safari 的无痕浏览模式中的坑
- localStorage在Safari浏览器无痕模式下失效
- safari无痕模式localStorage报错
- Chrome的无痕浏览实现初探
- JS的Date对象在Safari与IOS中的兼容问题
- window.open在Safari中的问题
- localStorage在无痕模式下被禁用的问题
- 怎样在ios中的Safari内开发出一款类似native app一样的全屏webapp
- JavaScript中的Date对象在Safari与IOS中的“大坑”
- JavaScript中的Date对象在Safari与IOS中的“大坑”
- iframe在ipad safari的显示
- IOS-safari遇到的坑
- safari中遇到的坑
- Android WebView 关闭无痕浏览
- Safari中的代理设置(在【偏好设置中】)。
- 在app中的链接到safari中打开
- 兼容IE6、7、8及chrome、fifox、Safari等各浏览器的浏览按钮
- 解决了之前说的s60webkit 浏览wml页面崩溃和在V5版本下单击Enter无反应的问题
- tomcat启动与关闭
- 深入浅出J2EE学习
- raspberry树莓派NFS搭建
- 高通AR系列与MTK芯片对比专业详解
- 机器之心40题
- Storge 在 Safari 的无痕浏览模式中的坑
- 我的第一篇博客之fullcalendar的使用
- 开博的话
- 【NOIP2016复赛模拟赛】楼层
- js第二次培训,“Java”部分
- mavn私服的使用
- JitPack
- tab切换
- 清兵线(准备特长生)