You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chrome扩展如何匹配多个域名变体?通配符匹配报错求解决

Chrome扩展域名匹配解决方案

首先明确:Chrome扩展的matches字段不支持标准正则表达式,它采用Chrome自定义的匹配模式语法,规则比正则严格。你之前的写法报错,是因为主机名部分的通配符使用不符合规则——Chrome不允许network*.com这种中间包含通配符的主机名格式。

针对你匹配network1.com、network2.com这类域名且避免硬编码的需求,推荐以下两种可行方案:

方案1:使用matches + include_globs

在content_scripts配置中,先用宽泛的matches匹配所有.com域名,再通过include_globs过滤出符合network*.com格式的域名。示例配置如下:

"content_scripts": [
    {
        "matches": ["*://*.com/*"],
        "include_globs": ["*://network*.com/*"],
        "js": ["your-script.js"]
    }
]

include_globs支持更灵活的通配符匹配,允许中间出现*,刚好满足你的需求。

方案2:运行时动态检查URL

如果需要更灵活的匹配逻辑,可以先通过宽泛的matches注入脚本,再在脚本内部用正则校验当前页面URL:

  1. 配置content_scripts:
"content_scripts": [
    {
        "matches": ["*://*.com/*"],
        "js": ["your-script.js"]
    }
]
  1. 在your-script.js中添加检查逻辑:
const currentHost = window.location.hostname;
// 用正则匹配以network开头、数字结尾的.com域名
if (/^network\d+\.com$/.test(currentHost)) {
    // 执行你的业务逻辑
    console.log("域名匹配成功,执行脚本");
}

这种方式完全用正则控制匹配规则,灵活性最高。

内容的提问来源于stack exchange,提问作者Cemstrian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 01:12:09