Javascript 捕获配额\u超过\u本地存储上的错误
我正在使用html5的本地存储API 我想捕获Javascript 捕获配额\u超过\u本地存储上的错误,javascript,html,error-handling,local-storage,Javascript,Html,Error Handling,Local Storage,我正在使用html5的本地存储API 我想捕获配额\u已超出\u ERR,以便向用户显示一条消息,如“内存已满。无法保存。可能会删除一些项目?” 我将使用的代码如下 function save() { try { localStorage.setItem(key, name); } catch (e) { if (e.name === 'QUOTA_EXCEEDED_ERR') { alert("Memory is full
配额\u已超出\u ERR
,以便向用户显示一条消息,如“内存已满。无法保存。可能会删除一些项目?”
我将使用的代码如下
function save() {
try {
localStorage.setItem(key, name);
} catch (e) {
if (e.name === 'QUOTA_EXCEEDED_ERR') {
alert("Memory is full. Cannot save. Maybe delete a few items?");
} else {
alert("Something went wrong? Try again later?")
}
}
}
我想问你,这样可以吗?这对所有浏览器都适用吗?不管怎么说,工作正常还是坏了
当然我也在测试它,但我想我应该问一下,因为也许我遗漏了什么
e.name
对于超出配额的错误,在每个浏览器中不一定总是“quota\u extended\u ERR”
在某些FF版本中,可能是“NS\U错误\U DOM\U配额已达到”
可能是“QuoteExceedeError”
或“W3CException\u DOM\u QUOTA\u extered\u ERR”
,具体取决于IE浏览器版本/模式
但是,您仍在捕获错误。因此,最糟糕的情况是,用户将收到“出错?”警报,而不是“内存已满”警报。您最好使用“磁盘存储”而不是“内存”,因为它更清晰“内存”通常代表RAM,而不是持久存储