我正在使用一个必须在特定页面执行的脚本,具体取决于它的参数.网址是这样的:
http://example.com/page.PHP?key1=value1&key2=value2&...
当page.PHP的参数中的key1 = value1时,我需要匹配它.
现在我正在使用
@match http://example.com/page.PHP?key1=value1&*
但是如果page.PHP没有其他参数,则不匹配.如果key1也不是第一个参数,它也不匹配.
有没有办法根据参数匹配页面?
解决方法
@match
only works on the protocol/scheme,host,and pathname of a URL.
要触发查询参数,您可以使用@include或使用@match,还可以自己测试URL.
一次,@match方法执行速度更快.有一段时间没有测试过.
使用@include,可以使用正则表达式语法.
在这种情况下,请使用:
... // @include /^http://example\.com/page\.PHP*key1=value1*/ // ==/UserScript==
要么:
... // @match http://example.com/page.PHP* // ==/UserScript== if (/\bkey1=value1\b/.test (location.search) ) { // DO YOUR STUFF HERE. }