如何在Chrome扩展中使用内容脚本文件注入CSS
How to inject CSS using content script file in Chrome extension?
我正试图从JavaScript中注入我的CSS,JavaScript被注入为内容脚本:
"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);
在我加载一些页面后,控制台中会显示此消息:
拒绝负载铬-extension://phkgaaiaakklogbhkdnpjncedlbamani/fix.css.资源必须按顺序列在web_accessible_resources清单键中由扩展之外的页面加载。
有什么办法解决这个问题吗?或者,也许还有其他方法可以从JavaScript文件中注入CSS?
注意:我不能直接从清单中包含样式表。
您可以添加到清单的权限字段;请参阅web_accessible_resources。所以你应该把这个添加到清单中:
, "web_accessible_resources": [
"fix.css"
]
另请参阅"程序注射"。和CCD_ 2。
对于大多数应用程序,忘记所有createElement
代码,只需将CSS文件添加到清单中:
"content_scripts": [
{
"matches": ["http://www.google.com/*"],
"css": ["fix.css"],
"js": ["script.js"]
}
],
尽管我知道你不想在这种情况下那样做。
您可以使用element.classList.add("my_new_class")在元素中添加新类,在css中,您可以使用新添加的类对该元素进行样式设置。因此,单击仅添加类,然后仅运行该元素的css。
相关文章:
- 如何运行从TFS获取项目的windows脚本文件
- 在HTML中,如果第二次加载相同的脚本文件,它还会被加载吗
- Project和作为web应用程序发布的多个doGet()脚本文件——需要澄清
- 引用nodejs服务器中html中的java脚本文件
- Firefox扩展开发:如何在内容脚本中创建一个全局函数,以便其他加载的脚本文件可以访问它
- 查看由 java 脚本文件上传器选择的文件的文件内容
- 如何通过$.getScript()获取脚本文件
- 公共脚本文件上的访问节点文件
- 使用gulp和browserfy从脚本文件进程访问Jquery库
- 在局部视图中加载脚本文件
- 用按钮动态替换java脚本文件
- jQuery单个脚本文件不是特定于*this*页面-显示“;undefined不是函数”;
- 是否可以不在grunt中提及所有的脚本文件路径
- 如何使用react和gump动态加载脚本文件
- Kinetic JS无法从外部脚本文件中工作
- 使用script元素上的html data-*属性来配置引用的脚本文件
- RequireJS-使用CDN加载非脚本文件
- 如何在Chrome扩展中使用内容脚本文件注入CSS
- 如何用JavaScript中的Ajax调用代替加载脚本文件(将YQL与JavaScript一起使用)
- JS脚本文件夹,而不是“;脚本”;在服务器ASP.NETMVC上部署后不可见