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



我知道如果我想在单个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": []
  }
],
...

最新更新