Pregunta

I'm trying to change the background color of web page onLoad. But, the script is not being executed Here is my code.

manifest.json

{
  "name": "Page Redder",
  "description": "Make the current page red",
  "version": "2.0",
  "permissions": [
    "activeTab"
  ],
  "background": {
    "scripts": ["background.js"],
    "persistent": false
  },
  "browser_action": {
    "default_title": "Make this page red"
  },
  "manifest_version": 2
}

background.js

chrome.tabs.onUpdated.addListener( function (tabId, changeInfo, tab) {
if (changeInfo.status == 'complete')
        chrome.tabs.executeScript(tabId, {file:"code.js"});
});

chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript({
    code: 'document.body.style.backgroundColor="green"'
});
});

code.js

document.body.style.backgroundColor="red"

It is working when I click on the Extension Icon. But, code.js is not being executed.

¿Fue útil?

Solución

use content scripts. They are much simpler than doing it directly from the background.

content scripts are automatically inserted into your new loaded tab if you use the match "matches": ["<all_urls>"]

documentation: https://developer.chrome.com/extensions/content_scripts

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top