2014-03-04 75 views
1

我有一个Greasemonkey脚本,有几个@include规则。我想知道究竟哪一个匹配,因为根据URL,脚本的行为会有所不同。Greasemonkey脚本:得到匹配包含规则

有没有办法通过Greasemonkey的API找到这个?我知道我可以通过DOM获取这些信息,但我希望Greasemonkey的API提供了类似的东西。

回答

3

Greasemonkey不会告诉脚本它匹配哪个规则。 相反,您的脚本可以测试properties of the window.location object。 EG:

if (/stackoverflow\.com/i.test (location.hostname)) { 
    alert ("Yay!"); 
} 
else if (/quora\.com/i.test (location.hostname)) { 
    alert ("Uh oh!"); 
} 


如果你真的想,你可以通过the GM_info objectincludesmatches阵列循环,并试图确定哪个(些)将触发对当前location,但这不是万无一失的,并且不需要它(除了可能对脚本进行过分热烈的代码审查)。