Я пытаюсь изменить код sample code Google для инъекций кода. Файл manifest.json
включает справочный сценарий:Как получить переменные из сценариев контента в расширении Chrome?
"background": {
"scripts": ["background.js"],
"persistent": false
},
и я добавить content script:
"content_scripts": [
{
"matches": ["*://*/*"],
"js": ["filter.js"]
}
],
Теперь я хочу, чтобы вызвать функцию, определенную в foo()
filter.js
, когда пользователь нажимает кнопку внутреннего абонента. Я делаю это в background.js
:
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript({
code: 'foo(testText);'
});
});
где foo()
определяется в filter.js
, как
function foo(test) {
alert('Test: ' + String(test));
}
var testText = 'foo';
Я могу выполнить функцию, но не может передать переменную testText
. Я получаю VM3181:1 Uncaught ReferenceError: testText is not defined
.
Я знаю, что неправильно ссылаюсь на переменную, но как это сделать правильно?