[英]Local storage and Internet Explorer 9 adventures
我在使用localStorage的Internet Explorer 9中遇到了有趣的問題。 我在使用i18next
庫的Web項目中使用客戶端本地化,並且作為本地化存儲,我們決定使用localStorage。 我們會在用戶首次訪問時加載所有本地化(一種語言的整個本地化〜450kb)。 在Internet Explorer 9以外的所有瀏覽器上,所有程序都運行良好。經過一段時間並在語言之間進行切換后,嘗試從服務器端加載本地化時,我開始收到錯誤- "SCRIPT5022: DOM Exception: QUOTA_EXCEEDED_ERR (22)"
。 當我嘗試- localStorage.remainingSpace
返回: 120776
但是,當我嘗試使用命令JSON.stringify(localStorage)
查找存儲在localStorage中的內容時,它將返回- "{}"
。 因此,什么都沒有存儲在localStorage中,但是它寫道只有120kb可用。 當我嘗試任何其他網站時,對於命令localStorage.remainingSpace
它顯示5000000
。 另外, localStorage.clear()
也無助於停止接收該消息- "SCRIPT5022: DOM Exception: QUOTA_EXCEEDED_ERR (22)"
問題是-“為什么Internet Explorer 9認為localStorage在不包含任何數據的同時幾乎已滿?”
感謝您的任何進步。
知道IE可能令人沮喪。 我遇到了類似的問題。
試試這個jQuery插件 。 另請參閱此 IE9問題是否與您的用例相匹配插件本身會嘗試各種后備設置,而不設置實際的cookie。 不論瀏覽器是什么,他們都將無縫化API中的幾種持久性機制集成在一起,只要它在受支持的列表中,它就可以在大小限制內運行。
[如果450kb不適合,請嘗試創建服務器支持的后備,以主動獲取本地存儲中缺少的必需密鑰,以免轉移整個450k詞典。
祝你好運!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.