javascript - 如何在单个 Chrome 扩展程序中的不同 URL 上运行不同的 javascript 文件

标签 javascript json google-chrome google-chrome-extension

我知道如果我想在单个 URL 上运行一个 javascript 或多个 javascript 文件,您可以在 manifest.json 中使用此格式。

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

但是我想知道如何在 example.com/test 上运行单个 javascript 文件,并在 example.com/shop 上运行完全不同的 javascript 文件。这是否可能,或者可以通过 manifest.json 中的 example.com/* 来完成,并在脚本中检查 if url contains 'shop' 中的某些行或者类似的东西?

最佳答案

content_scripts 的文档.

部分示例 manifest.json:

...
"content_scripts": [
  {
    "run_at": "document_end",
    "matches": [
      "https://*.stackexchange.com/*"
    ],
    "js": [
      "vendor.bundle.js",
      "stackexchange.js"
    ],
    "css": []
  },
  {
    "run_at": "document_start",
    "matches": [
      "https://*.stackoverflow.com/*"        ],
    "js": [
      "vendor.bundle.js",
      "stackoverflow.js"
    ],
    "css": []
  }
],
...

关于javascript - 如何在单个 Chrome 扩展程序中的不同 URL 上运行不同的 javascript 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49700125/

相关文章:

html - Chrome 中的 float div 定位错误

javascript - 我的 javascript 代码中出现奇怪的错误

javascript - 正则表达式使用javascript用英语和阿拉伯语字符串中的空格替换特殊字符

javascript - editablegrid 设置用于渲染条形图的列

json - 还有其他方法可以针对JSON中的多个嵌套字段优化此Elasticsearch查询

google-chrome - X509 主题备用名称 (subjectAltName) IP 地址字段

google-chrome - Chrome 愤怒的小鸟背后有什么技术

javascript - AngularJS slider 数字绑定(bind)不起作用

javascript - D3.stratify 未捕获错误 : ambiguous: Distributive property

json - 将 Firebase 实时数据库 json 响应从 _InternalLinkedHashMap<Object?, Object?> 转换为 Map<String,dynamic>