我正在寻找描述 Google Chrome 在内容设置的阻止/允许列表中使用的 glob/wildcard/pattern 语法的文档。
如果你使用 Chrome,可以通过以下 URL 访问这些设置页面:
chrome://settings/content/javascript
chrome://settings/content/cookies
还有其他几个页面使用相同的 URL 匹配语法。单击“添加”时,表单将显示示例文本。[*.]example.com
使用通配符模式时,方括号似乎是必需的,因为省略它们会导致消息,Not a valid web address
。
官方文档或源代码会很好,但是普通的 BNF 是理想的。
我找到了两个相关页面,它们描述了 Chrome 中的 URL 模式匹配,但它们都不适用于这种情况。除非我误解了它们的相关性(它们都没有记录所需的方括号),否则请不要引用它们:
答案1
经过一些测试,它是这样的:
不会自动匹配子域,除非您添加前缀 [*.],这似乎是唯一允许的通配符构造。此外,您还可以选择添加确切的 URI 方案前缀和确切的端口后缀。
For: https://www.whatismybrowser.com
❌ whatismybrowser.com
✔ www.whatismybrowser.com
✔ [*.]whatismybrowser.com
✔ https://www.whatismybrowser.com
✔ https://[*.]whatismybrowser.com
✔ https://[*.]whatismybrowser.com:443
✔ [*.]whatismybrowser.com:443
✔ *://www.whatismybrowser.com -> removes scheme prefix
✔ [*.]whatismybrowser.com/ -> removes path suffix
❌ http://www.whatismybrowser.com -> as expected
❌ www.whatismybrowser.tld
❌ www.whatismybrowser.* or [.*] -> invalid input
❌ foo.[*.]whatismybrowser.com -> invalid input
答案2
我最初有同样的行为,但[*.]example.com
语法正确,而且在我复制并粘贴地址后,它就可以工作了这里
现在我可以使用每个 url,也许这是一个错误。