Html5 LocalStorage 在 Private Browsing 下的一个限制

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);

相关推荐