检查本地存储是否可用

2023-11-24

我知道有很多关于检查的问题localStorage但如果有人在浏览器中手动关闭它怎么办?这是我用来检查的代码:

localStorage.setItem('mod', 'mod');
if (localStorage.getItem('mod') != null){
  alert ('yes');
  localStorage.removeItem('mod');
} else {
  alert ('no');
}

功能简单并且有效。但是,如果我进入 Chrome 设置并选择“不保存数据”选项(我不记得它的确切名称),当我尝试运行此功能时,我什么也得不到,但Uncaught Error: SecurityError: DOM Exception 18。那么有没有办法检查这个人是否完全关闭了它呢?

更新:这是我尝试的第二个功能,但我仍然没有得到任何响应(警报)。

try {
  localStorage.setItem('name', 'Hello World!');
} catch (e) {
  if (e == QUOTA_EXCEEDED_ERR) {
   alert('Quota exceeded!');
  }
}

Use modernizr的做法:

function isLocalStorageAvailable(){
    var test = 'test';
    try {
        localStorage.setItem(test, test);
        localStorage.removeItem(test);
        return true;
    } catch(e) {
        return false;
    }
}

if(isLocalStorageAvailable()){
    // available
}else{
    // unavailable
}

它不像其他方法那么简洁,但这是因为它的设计目的是最大限度地提高兼容性。

原始来源:https://github.com/Modernizr/Modernizr/blob/master/feature-detects/storage/localstorage.js

工作示例:http://jsfiddle.net/6sm54/2/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检查本地存储是否可用 的相关文章

随机推荐