2013-03-01 67 views
0

我很新(javascript)编程,我试图让自动化。如何定期检查页面的状态而不刷新?

有一个页面包含一个倒数计时器,我希望我的greasemonkey脚本在条件满足时自动执行一些操作。

我有现在这样的权利:

var timer = document.getElementById('timer_4975'); 

if (timer.innerHTML < "00:00:20"){ 
//Some actions 
} 

但这仅检查一次当脚本加载条件下,当该定时器00:00:20下,它不会检测条件会遇到并且不会采取行动。

有人可以引导我在正确的方向吗?

Thanx提前!

回答

0

可以使用setTimeoutsetInterval函数来执行此任务。

setInterval将定期执行任务,这可能更适合您要实现的任务。

喜欢的东西:

var timer = document.getElementById('timer_4975'); 

var intervalHandle = setInterval(function() { 
    if (timer.innerHTML < "00:00:20"){ 
    //Some actions 
    clearInterval(intervalHandle); 
    } 
},1000); 

会检查每一秒(1000毫秒)。更改1000值以增加或减少检查频率...每秒一次可能经常足够。

+0

谢谢。它完美的作品! @antoyo – kawa 2013-03-01 14:53:59

+0

不要忘记提出任何有用的答案,并接受你认为最有用的答案。 – Dancrumb 2013-03-01 19:55:09

0

你将不得不使用setInterval()来执行你的代码不止一次:

setInterval(function() { 
    if(timer.innerHTML < "00:00:20") { 
     //Some actions 
    } 
}, 5000); //Execute this function each 5 seconds. 
+0

一旦条件成立,您应该清除间隔 – Dancrumb 2013-03-01 14:28:46