Как я могу сохранить настройки для расширения Google Chrome?

В качестве простого примера предположим, что я хочу вставить слово внизу каждой веб-страницы, и я хочу, чтобы пользователь мог изменить это слово. Итак, у меня есть страница параметров (внутри расширения), в которой я принимаю пользовательский ввод и использую его для вызова «localStorage.preferences = x;».

Затем пользователь переходит на http://www.google.com/, и я вставляю скрипт, который пишет слово, найденное в localStorage.preferences. Проблема в том, что, поскольку я сейчас нахожусь в другом домене, я вижу localStorage для google.com, а не свое расширение.

Как я могу обмениваться данными между страницей параметров моего расширения и сценарием, внедренным на какую-либо стороннюю веб-страницу?


person st-boost    schedule 12.04.2012    source источник
comment
Это невозможно, так как нарушает междоменную политику. Это может немного помочь: nczonline. сеть/блог/2010/09/07/   -  person codef0rmer    schedule 12.04.2012


Ответы (1)


Возможно, это не самый прямой ответ на ваш вопрос, но один из способов обойти это — использовать передача сообщений для имитации прямого доступа к локальному хранилищу из другого домена. Предполагая, что вы запускаете свой Javascript в контексте сценария содержимого, вы можете передать сообщение на фоновую страницу с запросом ключа, который вернет содержимое localStorage.

person Marc Bollinger    schedule 12.04.2012
comment
Я очень хорошо разбираюсь в разработке расширений для Chrome и собирался дать точный ответ. Передача сообщений — это абсолютно правильный путь. - person Devin Rhode; 12.04.2012