Передача переменных в текущую вкладку через расширение Chrome - PullRequest
1 голос
/ 23 апреля 2010

Я пишу свое первое расширение Chrome и хочу передать переменную на открытую в данный момент вкладку и манипулировать ею с DOM.

У моего расширения есть кнопка, и при нажатии она выполняет этот код:

chrome.tabs.getSelected(null, function(tab) {
 chrome.tabs.executeScript(tab.id, {
  file: 'tabscript.js'
 });
});

Это работает нормально, но я не вижу способа передать переменную в tabscript.js, чтобы ее можно было использовать на открытой вкладке.

1 Ответ

4 голосов
/ 23 апреля 2010

Что нужно для передачи переменной в? У вас есть функция, которую вы вызываете в своем скрипте?

Следует отметить, что у вас нет доступа к страницам Javascript, только DOM.

Если у вас есть особая функция, которую нужно вызывать с определенными параметрами, вам следует изучить скрипты содержимого и передачу сообщений .

Сценарии содержимого могут запускаться при каждой загрузке страницы (или на нескольких страницах), и вы будете использовать передачу сообщений для отправки сообщения от кнопки расширения к функции в сценарии содержимого.

Альтернативно, и ближе к вашей первоначальной идее вы можете сконструировать функцию, которую вы хотите вызывать во время выполнения, используя следующее:

chrome.tabs.getSelected(null, function(tab) {
 chrome.tabs.executeScript(tab.id, {
  code: 'function(){ ...... your code built dynamically ......}'
 });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...