Cookie или localStorage с хромированными расширениями

Я прочитал все остальные здесь, касающиеся темы, но не смог решить мою проблему.
Я устанавливаю на своем веб-сайте электронную почту пользователя в localStorage, и я хочу получить его в расширении.

localStorage.setItem("user", "[email protected]" ); 

Но когда я пытаюсь получить его с расширением chrome, он не делает этого

value = localStorage.getItem("user");

Какой путь проще? cookie localstorage? im не претенциозный

Ответ 1

Пожалуйста, смотрите следующее:

http://code.google.com/chrome/extensions/content_scripts.html#host-page-communication

Скрипты содержимого запускаются в отдельном мире JavaScript, что означает, что контент script localStorage отличается от веб-сайта localStorage. Единственное, что обе представляют собой DOM, поэтому вам нужно будет использовать узлы/события DOM для связи.

Ответ 2

Используйте chrome.storage.local вместо localstorage. Скрипты содержимого, использующие chrome.storage, видят то же самое, что видит страница расширения. Подробнее в https://developer.chrome.com/extensions/storage.html

Ответ 3

Пожалуйста, ознакомьтесь с информацией о сценариях содержимого Chrome. Я уверен, что вы попали в ту же начальную ловушку, что и я, пытаясь прочитать localStorage из вложенной страницы script, да?

Ответ 4

Вы не хотите использовать файлы cookie, если это может сделать localstorage. Это потому, что

  • Файлы cookie могут быть доступны/изменены только с помощью фоновой страницы.
  • Cookies хранятся в контексте URL-адреса, а не расширения. Таким образом, вам нужно будет хранить cookie для каждого домена, с которым вы хотите работать.
  • С каждым HttpRequest все файлы cookie, связанные с соответствующим URL/доменом, передаются на сервер, поэтому вы будете добавлять накладные расходы для пользовательских запросов.)