如何使用内容脚本文件在Chrome扩展注入CSS?(How to inject CSS using

2019-06-26 10:09发布

我试图从注入的JavaScript我的CSS将其注入为内容脚本:

"content_scripts": [
   {
      "matches": ["http://www.google.com/*"],
      "js": ["script.js"]
   }
],

我发现类似的问题有关注射CSS,但我同时使用从代码中遇到的问题接受的答案 。 这里是我script.js内容:

var link = document.createElement("link");
link.href = chrome.extension.getURL("style.css");
link.type = "text/css";
link.rel = "stylesheet";
document.getElementsByTagName("head")[0].appendChild(link);

我加载一些页面后出现在控制台此消息:

铬扩展的拒绝负荷://phkgaaiaakklogbhkdnpjncedlbamani/fix.css。 资源必须在web_accessible_resources清单项中列出,以通过扩展之外页面加载。

有没有什么办法解决这一问题? 或者,也许,一些其他的方式从该JavaScript文件注入CSS?

注:我不能从清单包括直接样式表。

Answer 1:

您可以添加到这个清单的权限字段; 见web_accessible_resources 。 所以,你想补充一点的清单:

    , "web_accessible_resources": [
        "fix.css"
    ]

又见“纲领性注射液” 。 和insertCSS()

对于大多数应用,忘记所有createElement代码和公正的CSS文件添加到清单:

"content_scripts": [
   {
      "matches":    ["http://www.google.com/*"],
      "css":        ["fix.css"],
      "js":         ["script.js"]
   }
],

虽然我知道你不想做,在这个确切的实例。



文章来源: How to inject CSS using content script file in Chrome extension?