Доступ к открытой вкладке из расширения Chrome
Пишу расширение для Chrome браузера. На повестке имеется следующая задача. Необходимо открыть новую вкладку и выполнить в ней JS код (например изменить background-color элемента body). Пишу следующее:
background.js
var created = chrome.tabs.create({
url: "https://google.com/",
active: true
}, function (tab) {
chrome.tabs.executeScript(tab.id, {
code: "document.body.style.backgroundColor = 'red'"
});
});
Новая вкладка успешно открывается, но дальше никаких изменений. Похоже где-то перемудрил с кодом.
Мой manifest.js имеет необходимые разрешения и работает для любого домена:
"permissions": ["<all_urls>", "webNavigation", "tabs", "activeTab"],
Если у кого-то есть опыт, хотелось бы увидеть простой пример открытия вкладки и выполнения в ней JS кода.
Ответы (1 шт):
Автор решения: StasHappy
→ Ссылка
Друзья, пока ожидал ответа, нашёл решение самостоятельно. Следующий код успешно открывает новую вкладку и выполняет в ней JS:
var created = chrome.tabs.create({
url: "https://google.com",
active: true
}, function (tab) {
insertJs(tab.id);
});
function insertJs (tabId) {
chrome.tabs.executeScript(tabId, {
code: "document.body.style.backgroundColor = 'red';"
});
}