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; }}解決方法
我的webapp在ios Safari私人瀏覽中出現javascript錯誤:
JavaScript:錯誤
未定義
QUOTA_EXCEEDED_ERR:DOM異常22:試圖向存儲中添加內容…
我的代碼:
localStorage.setItem(’test’,1)
相關文章:
1. 數組按鍵值封裝!2. java - web項目中,用戶登陸信息存儲在session中好 還是cookie中好,取決于什么?3. angular.js - webpack build后的angularjs路由跳轉問題4. mysql - 大部分數據沒有行溢出的text字段是否需要拆表5. mac mysql 5.7.9 編碼修改無效6. mysql 新增用戶 主機名設定 失敗7. 單擊登錄按鈕無反應8. pdo - mysql 簡單注入疑問9. mysql - 查詢字段做了索引為什么不起效,還有查詢一個月的時候數據都是全部出來的,如果分拆3次的話就沒問題,為什么呢。10. mysql儲存json錯誤
