cookie или localStorage с расширениями Chrome - PullRequest
3 голосов
/ 30 августа 2010

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

localStorage.setItem("user", "andrei.br92@gmail.com" ); 

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

value = localStorage.getItem("user");

Какой способ проще?печенье локальное хранилище?я не претенциозный

Ответы [ 4 ]

6 голосов
/ 01 октября 2010

Пожалуйста, смотрите это:

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

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

4 голосов
/ 18 марта 2013

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

2 голосов
/ 22 сентября 2010

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

1 голос
/ 13 февраля 2012

Вы не хотите использовать куки, когда это может сделать localalstorage. Это потому что

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