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/доменом, передаются на сервер, поэтому вы будете добавлять накладные расходы для пользовательских запросов.)