Chrome扩展程序,使内容脚本在所有页面上运行?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Chrome扩展程序,使内容脚本在所有页面上运行?相关的知识,希望对你有一定的参考价值。

我想要一个chrome扩展,它将每个网站的高亮颜色更改为红色,我对CSS位很好,但是,我不知道如何让它在所有页面上都能正常工作。这是我目前的代码:

{
  "manifest_version": 2,

  "name": "CustomizeMore",
  "version": "0.1.0",
  "description": "Customize contents on a webpage!",

  "content_scripts": [{
    "css": ["main.css"],
    "js": ["main.js"],
    "matches": ["http://*/*"]
   }]


}

目前,它在具有HTTP但不具有HTTPS的站点上运行。如何在使用HTTP或HTTPS的网站上运行它?

答案

您的错误在"matches"定义中,您只定义它以匹配以http://架构开头的页面。

如果您只想专门针对http://https://前缀页面,只需将定义添加到matches参数:

{
  "manifest_version": 2,

  "name": "CustomizeMore",
  "version": "0.1.0",
  "description": "Customize contents on a webpage!",

  "content_scripts": [{
    "css": ["main.css"],
    "js": ["main.js"],
    "matches": ["http://*/*", "https://*/*"]
   }]


}

或者,您可以通过将http://参数更改为字符串https://来匹配每个前缀(不仅仅是matches"<all_urls>")。

{
  "manifest_version": 2,

  "name": "CustomizeMore",
  "version": "0.1.0",
  "description": "Customize contents on a webpage!",

  "content_scripts": [{
    "css": ["main.css"],
    "js": ["main.js"],
    "matches": ["<all_urls>"]
   }]


}

这将针对所有类型的网页,包括file:///网址。


无论如何,您可以参考Match Patterns文档页面上的官方Chrome文档,

以上是关于Chrome扩展程序,使内容脚本在所有页面上运行?的主要内容,如果未能解决你的问题,请参考以下文章

在页面更改时运行脚本[重复]

调试 Chrome 扩展的内容脚本

Chrome扩展程序的chrome对象属性未定义

如何仅在某个页面上运行 .js 脚本?

在Chrome扩展程序中存储静态JSON数据的位置?

尝试将数组从内容脚本发送到弹出脚本的 Chrome 扩展程序错误