Внедрить функцию как скрипт контента - PullRequest
0 голосов
/ 29 ноября 2011

Я ввожу скрипт содержимого при нажатии кнопки, используя chrome.tabs.executeScript

При программном введении я могу ввести как

chrome.tabs.executeScript(null, { code:  "alert('hello world');"});

или

chrome.tabs.executeScript(null, { file:  example.js});

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

что-то вроде

chrome.tabs.executeScript(null, {code: function1});

function function1() { alert("hi");}

Ответы [ 2 ]

2 голосов
/ 30 ноября 2011

Я думаю, что вы не можете внедрить в скрипт содержимого функцию, определенную на фоновой странице. Однако вы можете получить исходный код функции и сразу вызвать его.

function hello() { alert("hi"); }

chrome.tabs.executeScript(null, { code: "(" + hello.toString() + ")()" });
0 голосов
/ 30 ноября 2011

Как насчет встраивания определения функции в сам фрагмент кода?

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