greasemonkey - setTimeout 在 Greasemonkey 中并不总是有效

标签 greasemonkey settimeout

我发现了很多类似的问题,但没有一个是平等的,也没有正确的解决方案。这是一个非常奇怪的问题。

我有一个简单的 Greasemonkey 脚本来测试这个问题:

// ==UserScript==
// @name        testdiddio
// @namespace   http://userscripts.org/users/useridnumber
// @include     https://www.google.it/
// @version     1
// ==/UserScript==


function wait(){
    console.info("wait");
    setTimeout(wait,1000);
}

console.info("start");
wait();

这是 Firebug 的输出:
start
wait
wait
wait
wait

wait() 函数被调用 4 次然后停止。如果我将超时设置为 100 毫秒,调用似乎工作至少 10/15 秒然后停止。

我正在使用:
火狐 12.0
油猴 0.9.19

最佳答案

这是 Greasemonkey 0.9.19 中的一个错误。
添加了一项功能以允许 setTimeout()即使页面的 JS 被禁用并引入了一些并发症(问题 154915521553 等)也能正常工作。

它应该会在 0.9.20 版中很快得到解决,或者恢复到 0.9.18 版。

关于greasemonkey - setTimeout 在 Greasemonkey 中并不总是有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10553274/

相关文章:

javascript - 如何处理 404 页面上的权限被拒绝异常?

javascript - 在计时器和 post ajax 请求之间传递对象(匿名函数)

Javascript执行两个函数addEventlistener并延迟其中之一

javascript - native JavaScript 中的动画输入

javascript - 在dojo类中调用JavaScript的setTimeOut

javascript - 使用Javascript从网页中的链接下载

javascript - 是否可以 EventHandle 页面通过 Javascript 发出的每个 GET 请求?

javascript - Tampermonkey,用户脚本使用 POP UP 将 URL 添加到脚本中

javascript - 如何将 Javascript 注入(inject)站点,然后确保它跨浏览器兼容?

javascript - HTML : Page load every 5 secs and display countdown like 5, 4,3,2,1 然后重新加载页面