Safari浏览器有一个private Browsing,如果用户开启了这种秘密浏览模式,那么使用了html5 localstorage的页面就会出现问题,不能正常访问和浏览,不论是在iphone上的Safari还是在pc上的Safari都有这个问题,错误代码是
// Error: QuotaExceededError: DOM Exception 22
解决方法是如果开启了这种模式,则提示用户关闭秘密模式后再访问页面:
//检测safari是不是开启了秘密浏览模式 var KEY = '_localStorage_' , VALUE = 'test'; try { localStorage.setItem(KEY, VALUE); } catch(e) { $.messager.alert("提示","您开启了秘密浏览模式,请关闭后重新访问",function(r) { if(r) { //do something; } }); } // 删除测试数据 if(localStorage.getItem(KEY) === VALUE) localStorage.removeItem(KEY);