У меня много кода, который я хочу запустить, только когда пользователь щелкает значок расширения.Я бы предпочел , а не , чтобы он запускался для каждой открытой вкладки.Таким образом, использование записи content_scripts в файле манифеста - не лучший вариант.Однако я не смог увидеть сценарии содержимого, отображаемые в списке сценариев в инструментах разработчика, когда я программно внедряю сценарии.Сейчас я хорошо работаю со сценариями контента, но в какой-то момент я бы хотел этого избежать.
Я запускаю ведение журнала повсеместно и также выполняю передачу сообщений.Поэтому я очень хорошо знаю, что эти сценарии успешно внедряются и запускаются, но они просто не отображаются в списке файлов.
В коде следующее работает просто замечательно (в манифесте):
{
// ...
"content_scripts": [{
"matches": ["<all_urls>"],
"css": ["style/content.css"],
"js": [
"closure/goog/base.js",
"closure/goog/deps.js",
"util.js",
"AddressRE.js",
// ...
"makeRequests.js"
]
}]
}
Выполнение следующих действий после onClick не выполняется:
function executeNextScript(tabId, files, callback) {
chrome.tabs.executeScript(tabId, {
file: files.pop()
}, function () {
if (files.length)
executeNextScript(tabId, files, callback);
else
callback();
});
}
function executeScripts(tabId, callback) {
var files = [
"closure/goog/base.js",
"closure/goog/deps.js",
"util.js",
// ...
"makeRequests.js"
];
executeNextScript(tabId, files.reverse(), callback);
}