Safari的html5 localStorage错误:“ QUOTA_EXCEEDED_ERR:DOM异常22:试图向存储中添加超出配额的内容。”

Safari的html5 localStorage错误:“ QUOTA_EXCEEDED_ERR:DOM异常22:试图向存储中添加超出配额的内容。”,第1张

Safari的html5 localStorage错误:“ QUOTA_EXCEEDED_ERR:DOM异常22:试图向存储中添加超出配额的内容。”

显然,这是设计使然。当Safari(OS X或iOS)处于私有浏览模式时,它似乎

localStorage
可用,但是尝试调用
setItem
会引发异常。

store.js line 73"QUOTA_EXCEEDED_ERR: DOM Exception 22: An attempt was made to add something to storage that exceeded the quota."

发生的事情是该窗口对象仍在

localStorage
全局命名空间中公开,但是当您调用时
setItem
,将抛出此异常。的所有呼叫都将
removeItem
被忽略。

我相信最简单的解决方法(尽管我尚未测试过此跨浏览器)将更改功能

isLocalStorageNameSupported()
以测试您是否还可以设置一些值。

function isLocalStorageNameSupported() {    var testKey = 'test', storage = window.sessionStorage;    try     {        storage.setItem(testKey, '1');        storage.removeItem(testKey);        return localStorageName in win && win[localStorageName];    }     catch (error)     {        return false;    }}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5588014.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存