經過我們的一位用戶的投訴並運行一些測試後,它顯示Firefox 15和16(以及可能是舊版本)使得它如此,如果您禁用了cookie, localStorage的。你甚至不能爲它創建一個填充工具作爲每當您嘗試訪問window.localStorage
你Error: The operation is insecure.
Firefox用戶禁用cookies以及localStorage的解決方案 - 不可能填充
投擲嘗試捕捉將讓你檢查,看看它是否禁用,但不會讓你有自己的解決方案替換變量。下面的快速填充工具將無法工作,因爲FF忽略設置變量,並試圖訪問它時,會拋出同樣的錯誤:
唯一的解決辦法似乎是動了「假」 localStorage的另一個變量,但這將煩人,因爲我們有很多代碼和依賴訪問這個變量的js庫。任何解決方案
編輯:僅僅彈出警告以告訴用戶需要cookie是不是最佳的。如果訪問者只想查看網站而不註冊,那麼他們確實不需要cookie。但作爲backbone.js應用程序並傳遞大量數據,我們確實在localStorage中存儲了相當多的東西。
如果您可以檢查它是否被禁用,只需彈出警告或告訴他們他們需要爲您的網站啓用Cookie。 – MrOBrian
感謝MrObrian,我做到了這一點,並且正在爲消息注入一個div,但對於localStorage只是作爲一個沒有持續存在的鍵/值存儲區而言是最佳選擇,因爲這正是用戶想要的。 –
「,但是對於localStorage來說,只是作爲不會持續存在的鍵/值存儲區而工作的最佳選擇」 爲什麼不在這種情況下使用簡單的js數組? –