我正在使用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);
}
任何想法?
答案 0 :(得分:0)
你评估jQuery是否正确加载的方式存在问题,我建议谷歌通过GreaseMonkey更好地嵌入jQuery(我确实有一些脚本在这个地方做这个而不是在这台机器上)。
然而,要做你正在尝试的事情,你实际上并不需要任何jQuery;简单地:
function timer() {
console.log('TEST')
setTimeout(timer, 1000);
}
timer();
工作正常:))
(注意我将警报更改为console.log,它将输出发送到Firebug控制台;警报会导致痛苦!)