gpt4 book ai didi

javascript - 检查 localStorage 是否可用

转载 作者:IT王子 更新时间:2023-10-29 02:54:05 26 4
gpt4 key购买 nike

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

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

简单的功能,它的工作原理。但是,如果我进入我的 Chrome 设置并选择选项“不保存数据”(我不记得它到底叫什么),当我尝试运行这个函数时,除了 Uncaught Error: SecurityError: DOM 异常 18。那么有没有办法检查此人是否已将其完全关闭?

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

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

最佳答案

使用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/

关于javascript - 检查 localStorage 是否可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16427636/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com