Chrome扩展程序未自动运行。内容脚本未执行

时间:2017-03-27 11:21:41

标签: javascript google-chrome plugins google-chrome-extension manifest

我正在尝试使用Google Chrome扩展程序,我遇到的第一个问题是我想在加载页面时自动更改正文背景颜色(不点击扩展图标)但我的内容脚本没有启动:

的manifest.json:

{
  "name": "Test Extension",
  "description": "Testing",
  "version": "1.0",
  "permissions": [
    "tabs", "webNavigation"
  ],
  "browser_action": {
      "default_title": "Set this page's color.",
      "default_icon": "icon.png",
      "default_popup": "popup.html"
  },
  "content_scripts": [
  {
  "matches": ["http://*/*", "https://*/*"],
  "js": ["core.js"]
  }
  ],  
  "background": {
    "scripts": ["background.js"]
  },

  "manifest_version": 2
}

core.js:

chrome.tabs.executeScript(null,{code:'document.body.style.backgroundColor = "green";'});

无效解决方案 background.js:

chrome.webNavigation.onHistoryStateUpdated.addListener(function(details) {
    chrome.tabs.executeScript(null,{file:"core.js"});
});

问题出在哪里?请求帮助。

1 个答案:

答案 0 :(得分:1)

更好的解决方案,只需使用内容脚本并等到加载而不执行脚本:

的manifest.json

 {
  "name": "Test Extension",
  "description": "Testing",
   "version": "1.0",
   "permissions": [
     "tabs", "webNavigation"
   ],
   "browser_action": {
   "default_title": "Set this page's color.",
   "default_icon": "icon.png",
   "default_popup": "popup.html"
    },
   "content_scripts": [
   {
      "matches": ["http://*/*", "https://*/*"],
      "js": ["core.js"],
      "run_at": "document_end"
   }
 ],  
 "manifest_version": 2
}

core.js

  window.onload=function(){ 
   console.log("test!!");
   document.body.style.backgroundColor = "green"; }

popup.html无论在这里。 我只是尝试它,它的工作是将任何站点中的背景颜色更改为绿色(您可以尝试使用stackoverflow)和控制台。