Внедрение Javascript во вновь созданную вкладку в расширении Chrome
Я пытаюсь сделать расширение Chrome, которое создает новую вкладку с локальным «blanksite.html» и вставляет некоторый код JavaScript, делающий его зеленым. Вот что у меня так далеко.
background.js
chrome.browserAction.onClicked.addListener(function(activeTab){
chrome.tabs.create({'url': chrome.extension.getURL("blanksite.html") }, function(tab) {
chrome.tabs.executeScript(tab.id, {
code: 'document.body.style.backgroundColor="green"'
});
});
});
manifest.json
{
"manifest_version": 2,
"name": "Open Green Google Tab",
"description": "This extension opens a Green Google tab.",
"version": "1.0",
"background":{
"scripts": ["background.js"]
},
"browser_action": {
"default_icon": "icon.png"
},
"permissions": [
"tabs",
"activeTab"
]
}
Это открывает "blanksite.html" (буквально пустой HTML-файл) на новой вкладке, но не делает вкладку зеленой.
Я прочитал другие ответы наРасширение Chrome: создайте вкладку и вставьте в нее скрипт содержимого, поэтому я знаю, почему это не работает (не может напрямую внедрить код в chrome: // страницы расширения); но я не смог заставить решения, опубликованные в других ответах, работать на меня. Есть ли четкий, полный кусок небольшого кода, который может заставить работать то, что я хочу?
Боюсь, я не очень хорошо понимаю обмен сообщениями, поэтому для любого решения, которое имеет это как часть, было бы очень полезно более всестороннее объяснение.