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.

有帮助吗?

解决方案

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top