我有这个小小的脚本,我使用Tampermonkey在Chrome中运行,效果很好。
但是,当我在带有Greasemonkey的Firefox中使用它时,它会显示在活动列表中,这意味着它与页面匹配,但它实际上并不执行代码。我知道它必须是一个我忽略的简单的东西,但它没有打我。
var myVar=setInterval(function(){myTimer();},100);
function myStopFunction()
{
clearInterval(myVar);
}
function myTimer()
{
var p1 = "Login";
var p2 = "mode=login";
var x = document.body.innerHTML;
if (x.match(p1) && x.match(p2)){
document.documentURI = "/ucp.php?mode=login";
}
myStopFunction();
}
脚本逻辑/功能
这个脚本在使用TM的Chrome上运行完美正常,但在使用GM的Firefox上它没有触发,我在这里遗漏了什么?
答案 0 :(得分:1)
(
document.documentURI
)
以字符串形式返回文档位置。根据DOM4规范,它是只读。
事实上,the latest spec仍然指定此属性必须是只读的。
如果Chrome允许您编写此属性,那么这是非标准行为,可能是错误。
使用location.assign()
或location.replace()
,或者只需以编程方式点击登录按钮 - 这通常会保留目标网页。