Javascript 无法通过Chrome扩展注入CSS

Javascript 无法通过Chrome扩展注入CSS,javascript,css,google-chrome-extension,Javascript,Css,Google Chrome Extension,我正在尝试创建一个Chrome扩展,当单击扩展按钮时,它会将CSS注入页面 弹出窗口加载良好,但无法注入CSS Manifest.json: { "name": "Flat Firemem", "version": "1.0", "manifest_version": 2, "description": "Arranges the page properly in the dump.", "browser_action": { "default_icon": "log

我正在尝试创建一个Chrome扩展,当单击扩展按钮时,它会将CSS注入页面

弹出窗口加载良好,但无法注入CSS

Manifest.json:

{
  "name": "Flat Firemem",
  "version": "1.0",
  "manifest_version": 2,
  "description": "Arranges the page properly in the dump.",
  "browser_action": {
    "default_icon": "logo.png",
    "default_popup": "popup.html"
  },
  "permissions": ["tabs", "<all_urls>", "file:///*"]
}
chrome.browserAction.onClicked.addListener(function(tab) {
  chrome.tabs.executeScript(null,
                           {file:"style.css"});
});
tester.js:

{
  "name": "Flat Firemem",
  "version": "1.0",
  "manifest_version": 2,
  "description": "Arranges the page properly in the dump.",
  "browser_action": {
    "default_icon": "logo.png",
    "default_popup": "popup.html"
  },
  "permissions": ["tabs", "<all_urls>", "file:///*"]
}
chrome.browserAction.onClicked.addListener(function(tab) {
  chrome.tabs.executeScript(null,
                           {file:"style.css"});
});
如果有人能找出问题所在,这会有很大的帮助。

使用,就这么简单。请注意,选项卡id是可选的:

chrome.browserAction.onClicked.addListener(function(tab) {
  chrome.tabs.insertCSS({file:"style.css"});
});
哦。此外,您需要使用弹出窗口或侦听器来
chrome.browserAction.onClicked
。 不能同时使用两者,因为定义弹出窗口时不会触发事件

两种可能的解决办法:

  • 您的代码应改为进入后台:

    {
      "name": "Flat Firemem",
      "version": "1.0",
      "manifest_version": 2,
      "description": "Arranges the page properly in the dump.",
      "browser_action": {
        "default_icon": "logo.png",
      },
      "background": {
        "scripts": ["tester.js"]
      },
      "permissions": ["tabs", "<all_urls>", "file:///*"]
    }
    
  • 注意:您对该任务的权限有点过多。查看并注意
    权限包括
    文件://
    URL

    // tester.js: no need to listen to event
    chrome.tabs.insertCSS({file:"style.css"});