47
A
回答
54
不,localStorage和sessionStorage在webworker進程中都未定義。
您必須將postMessage()
調回工人的始發代碼,並讓該代碼將數據存儲在localStorage中。
有趣的是,一個webworker 可以使用AJAX調用來發送/檢索信息到/從服務器,以便可能打開的可能性,這取決於你想要做什麼。
81
網絡工作者只能訪問以下內容:
- 的XMLHttpRequest
- 應用程序緩存
- 創建其他網絡工作者
- 導航對象
- 位置對象
- 的setTimeout方法
- clearTimeout方法
- 的setInterval方法
- clearInterval方法
- importScripts方法
- JSON
- 工人
窗口或父對象不是從Web訪問的工人因此你不能訪問localStorage的。
要在窗口和workerglobalscope之間進行通信,您可以使用postMessage()
函數和onmessage事件。
訪問DOM和窗口不會是線程安全的,因爲子線程將具有與其父級相同的權限。
20
您可以在WebWorkers中使用這是在關鍵值存儲中本地存儲事物的一種方式。它與localStorage不同,但它具有相似的用例,可以保存大量數據。在我的工作中,我們在WebWorkers中使用IndexedDB。
相關問題
- 1. 訪問localStorage的
- 2. 是否可以從manifest.json訪問localStorage?
- 3. VBA:從InternetExplorer對象訪問LocalStorage
- 4. 從LocalStorage訪問項目(Angular 1.2)
- 5. 在App.config中訪問localstorage
- 6. 訪問localStorage的數據
- 7. html5 localstorage存儲和訪問
- 8. HTML5 localStorage的可訪問性
- 9. 訪問/寫入Chrome應用localStorage的
- 10. localStorage的訪問應用程式
- 11. 如何使用Chrome擴展訪問localstorage
- 12. 如何循環訪問localStorage值
- 13. StorageFile - 訪問LocalStorage外部的映像
- 14. 在VB.Net中訪問js localStorage存儲值
- 15. 如何訪問node.js中的localStorage?
- 16. 在iOS應用程序中訪問localStorage
- 17. 最好的方法來訪問localStorage的
- 18. localStorage無法在IOS-6中訪問Safari
- 19. 的JavaScript WebWorker不從的onClick
- 20. 可以從Windows窗體應用程序訪問HTML5 localstorage嗎?
- 21. 從Chrome擴展中訪問網頁的localStorage
- 22. 從內容腳本訪問選項頁localStorage
- 23. 如何從根域訪問子域的html5 localStorage?
- 24. addClass - LocalStorage問題
- 25. localStorage getItem問題
- 26. 調試Webworker
- 27. CombinationViewer和WebWorker
- 28. 從localStorage的
- 29. 從localStorage的
- 30. 從localStorage的
但是它可以訪問indexedDB。 – 2015-07-28 16:38:00
線程安全並不是localStorage關心的問題,因爲它已經需要提供同步訪問來容納同時訪問它的多個瀏覽器選項卡。 http://stackoverflow.com/questions/22001112/is-localstorage-thread-safe – Thilo 2015-08-11 01:49:49
網絡工作者不能總是創建其他網絡工作者(例如,Chrome不支持這一點)...檢查一個關於這個問題的答案* * [這裏](http://stackoverflow.com/questions/9259251/unable-to-create-web-worker-from-inside-webworker-in-chrome)**。 – Wilt 2015-12-11 13:07:46