延迟关闭窗口javascript

时间:2011-07-22 10:26:09

标签: javascript timer setinterval

我正在撰写Google Chrome扩展程序。感谢大家在这里忍受我愚蠢的问题。例程是原始的,但运行正常。唯一的问题是它运行得如此之快以至于它使服务器过载而我的ip地址被阻止了。所以它需要一个油门。

问题是使用计时器或setInterval构造内容是否更好。检查特定页面后,内容脚本将使用self.close()关闭其窗口。如果我把它放入setInterval,我可以延迟关闭页面,这会使整个过程的速度和间隔的长度一样慢。好像油门好。

现在内容脚本的最后一行是:

self.close();

我认为如果我按如下方式修改代码,我会得到延迟:

var t=setTimeout("self.close()",2000);

这会有用吗?有没有更好的方法呢?

2 个答案:

答案 0 :(得分:5)

我宁愿使用:

setTimeout(function(){
    self.close();
},2000);

但你的方式也是有效的......

答案 1 :(得分:0)

如果关闭页面是适当的等待点,那么这是完全正常的。在这种情况下,因为它似乎是一个相关的地方,那么我认为你没事。虽然我会使用Christophes的建议。

如果处理时间超过间隔时间,使用setinterval定期运行它们会遇到问题 - 因为这似乎涉及打开和关闭页面,它可以。

通常,setInterval适用于定期执行小型进程。在这种情况下,你只想等待处理,这告诉我setTimeout更好。