У меня есть следующий код в фоновом режиме. js.
chrome.tabs.onUpdated.addListener( function (tabId, changeInfo, tab) {
if (changeInfo.status == 'complete') {
chrome.tabs.executeScript(tabId, {
file: 'inject.js'
});
} // if (changeInfo.status == 'complete') {
});
Но когда я меняю вкладки, ввод. js запускается только на активной вкладке, даже если неактивная вкладка обновляется. В inject. js У меня запущен автоматизированный процесс для определенного веб-сайта, и он просматривает некоторые страницы в поисках определенного c текста. Я хочу, чтобы он продолжал работать на этой вкладке, даже если я открою новую вкладку. Но как только я меняю вкладки, инъекция происходит только на активной вкладке. Я думал, что tab.tabId или tabId будет для вкладки, которая была обновлена, но кажется, что это всегда активная вкладка.
Есть ли способ выяснить, какая вкладка обновлена, чтобы я мог передать правильный tabId для executeScript ?
Вот как выглядит мой манифест:
{
"name": "Automated test",
"version": "0.0.1",
"manifest_version": 2,
"background": {
"scripts": [
"background.js"
],
"persistent": true
},
"browser_action": {
"default_title": "Test"
},
"permissions": [
"https://*/*",
"http://*/*",
"tabs",
"webNavigation"
]
}