Чтение переменной Google Chrome с веб-страницы - PullRequest
1 голос
/ 19 января 2012

Мне нужно иметь возможность читать набор переменных в расширении Google Chrome с любой веб-страницы.

Например, для расширения Firefox я делаю это:

XPCNativeWrapper.unwrap(contentWindow).myExtensionName_varName = "value";

Затемна любой веб-странице, если я наберу alert(myExtensionName_varName);, я получу правильное значение.

Как я могу добиться того же в расширении Chrome?

1 Ответ

1 голос
/ 19 января 2012

Все в Chrome помещено в «песочницу» для безопасности и предотвращения конфликтов, поэтому у вас нет прямого доступа из расширения к любой переменной, созданной сценариями веб-сайта.

Сценарии содержимого выполняются в специальной среде, которая называетсяизолированный мир.Они имеют доступ к DOM страницы, в которую они внедрены, но не к каким-либо переменным или функциям JavaScript, созданным этой страницей.Каждый скрипт содержимого выглядит так, как будто на странице, на которой он запущен, нет другого JavaScript-кода.То же самое верно и в обратном: JavaScript, работающий на странице, не может вызывать какие-либо функции или обращаться к любым переменным, определенным скриптами содержимого. [source]

Check 'Связь с вложениемpage 'section здесь , чтобы узнать, как взаимодействовать между скриптами на веб-страницах и скриптами содержимого расширения.

...