Доступ к localStorage от веб-мастера

может ли веб-работник получить доступ к localStorage?

Если нет то почему? Это проблематично с точки зрения безопасности?

3 ответов


нет, localStorage и sessionStorage не определены в процессе webworker.

вам придется позвонить postMessage() вернуться к исходному коду рабочего и сохранить этот код в localStorage.

интересно, webworker можете используйте вызов AJAX для отправки / получения информации на / с сервера, чтобы открыть возможности, в зависимости от того, что вы пытаетесь сделать.


веб-работники имеют доступ только к следующим:

  • XMLHttpRequest
  • Кэш Приложения
  • создать других веб-работников
  • навигатор объекта
  • расположение объекта
  • метод setTimeout
  • метод clearTimeout
  • метод setInterval
  • метод clearInterval
  • способ importScripts
  • JSON
  • работник

окне или родительские объекты недоступны из веб-работника, поэтому вы не можете получить доступ к localStorage.

для связи между window и workerglobalscope вы можете использовать postMessage() функция и событие onmessage.

доступ к DOM и окну не будет потокобезопасным, так как дочерний поток будет иметь те же права, что и его родитель.


можно использовать IndexedDB на WebWorkers который является способом хранения вещей локально в хранилище ключевых значений. Это не то же самое, что localStorage, но он имеет аналогичные случаи использования и может содержать довольно много данных. Мы используем IndexedDB в веб-работниках на моей работе.