greasemonkey,jquery和setTimeout

时间:2010-02-19 23:11:31

标签: jquery greasemonkey

我正在使用jquery和greasemonkey并尝试使用setTimeout每秒调用一个函数,但由于某种原因它不起作用。

// Add jQuery
var GM_JQ = document.createElement('script');
GM_JQ.src = 'http://jquery.com/src/jquery-latest.js';
GM_JQ.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(GM_JQ);

// Check if jQuery's loaded
function GM_wait() {
    if(typeof unsafeWindow.jQuery == 'undefined') { window.setTimeout(GM_wait,100); }
else { $ = unsafeWindow.jQuery; letsJQuery(); }
}
GM_wait();

// All your GM code must be inside this function
function letsJQuery() {

function timer(){   警报( 'TEST')  }

setTimeout(timer,1000);

}

任何想法?

1 个答案:

答案 0 :(得分:0)

你评估jQuery是否正确加载的方式存在问题,我建议谷歌通过GreaseMonkey更好地嵌入jQuery(我确实有一些脚本在这个地方做这个而不是在这台机器上)。

然而,要做你正在尝试的事情,你实际上并不需要任何jQuery;简单地:

function timer() {
  console.log('TEST')
  setTimeout(timer, 1000);
}

timer();

工作正常:))

(注意我将警报更改为console.log,它将输出发送到Firebug控制台;警报会导致痛苦!)