The 有关元数据块的 GreaseSpot 页面 http://wiki.greasespot.net/Metadata_Block说两者非常相似但是@match
“制定了更严格的规则*
字符的意思是。”GreaseSpot 然后继续teach http://wiki.greasespot.net/Include_and_exclude_rules using @include
,但 Chrome 的示例如下this https://www.chromium.org/developers/design-documents/user-scripts一般似乎使用@match
并指出@include
仅出于兼容性目的而支持;@match
是优选的。
显然 https://www.chromium.org/developers/design-documents/user-scripts, @include google.*
可以在 google.evil.com 上运行@match google.*
cannot.
这个例子不足以真正了解通配符在这两者之间的行为有何不同,在此处的答案中寻求更好的解释。
新的 GreaseMonkey 脚本 (Firefox) 使用@include
默认情况下,新的 TamperMonkey 脚本(例如 Chrome)使用@match
默认情况下。
这两者到底有什么区别?
例如,每个人如何处理通配符?
跨浏览器兼容性是否存在差异?
人们选择使用其中一种而不是另一种的原因是什么?
您不能将正则表达式与@match
, 当你can http://wiki.greasespot.net/Include_and_exclude_rules#Regular_Expressions with @include
.
然而,@include
将为您的用户提供有关应用于所有站点的脚本的更可怕的安全警告。
这虽然是一个@include
表达让你成为更严格关于脚本适用的站点(例如,使用正则表达式片段指定 URL 的部分为数字[0-9]+
,或使用^https?://
仅将这两个方案应用于脚本,而不是更通用的非正则表达式通配符*
用于其中的每种情况@match
,这使得脚本的应用范围更广)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)