踩坑记录——iphone上safari开启隐身模式时localStorage变为只读
2015-01-06 13:24
441 查看
申请完sf的博客这么久一直都没动手写点东西,现在来记录一个前几天项目里踩到的一个坑。
场景
项目中某部分代码有用到localStorage储存数据,该部分代码在线上一直正常跑着。
直到前几天突然有用户反馈有个页面在他iPad safari上显示不正常,遂用iPad一整调试后找到原因。
原因
ios上safari开启隐身模式时,localStorage无法写入新的内容,并且会抛出异常导致js无法正常执行,最终页面无法正常加载。
解决
使用try catch包裹对localStorage写入的代码:
try { window.localStorage.foobar = "foobar"; } catch(_) { alert("本地储存写入错误,若为safari浏览器请关闭隐身模式浏览。"); }
相关文章推荐
- Ubuntu下如何开启iPhone屏幕护眼模式
- 【iOS-Cocos2d游戏开发之八】开启高清(960*640)模式问题与解答、图片适配以及设置iphone横竖屏
- 【iOS-Cocos2d游戏开发之八】开启高清(960*640)模式问题与解答、图片适配以及设置iphone横竖屏
- SharePoint Server 2016 PWA(Project web app) 被变为只读模式
- Mac版safari开启调试模式
- safari无痕模式localStorage报错
- Chrome谷歌浏览器“隐身模式”是什么?如何开启?
- Cocos2D-iPhone开启高清retina模式问题与解答
- 【Cocos2d游戏开发之八】开启高清(960*640)模式问题与解答、图片适配以及设置iphone横竖屏
- mac版safari开启调试模式
- 【Cocos2d游戏开发之八】开启高清(960*640)模式问题与解答、图片适配以及设置iphone横竖屏
- 【iOS-Cocos2d游戏开发之八】开启高清(960*640)模式问题与解答、图片适配以及设置iphone横竖屏
- 【iOS-Cocos2d游戏开发之八】开启高清(960*640)模式问题与解答、图片适配以及设置iphone横竖屏
- 【iOS-Cocos2d游戏开发之八】开启高清(960*640)模式问题与解答、图片适配以及设置iphone横竖屏 推荐
- mac开启safari开发模式(用于OC和JS交互)
- 记录 JS IOS/iPhone的Safari不兼容Javascript中的Date()问题
- 【iOS-Cocos2d游戏开发之八】开启高清(960*640)模式问题与解答、图片适配以及设置iphone横竖屏
- 让 Chrome 在进入特定域名的时候自动开启隐身模式
- 开启Windows上帝模式
- 让IE8兼容网页,简单开启兼容模式