2012-10-03 169 views
1

我想用jquery每秒钟重新加载一次url,我尝试下面的代码,这段代码只能重新加载一次url。我该怎么做?用jquery每秒钟刷新一次url

<a href="http://myweb.com/" id="thisLink"></a> 

setInterval(window.location = $('#thisLink').attr('href'), 1000); 

DEMO:http://jsfiddle.net/QBMLm/

+1

这真的很烦人,但实际上有一个元素刷新标签,它根本就没有任何javascript。 – adeneo

回答

0

一旦你重新加载URL(window.location更改)setInterval变得没有实际意义的上下文(和范围)(页面被丢弃,接下来就是加载)。然后脚本重新加载并重新分配setInterval

哦,从语法上看,代码无效。您可能想要将window.location部分包裹在function(){}中,例如

setInterval(function(){ 
    window.location = $('#thisLink').attr('href') 
}, 1000); 

否则它实际上并没有以区间方式执行,而是立即执行。

+0

在每一秒钟=>这不起作用:jsfiddle.net/QBMLm/5/ –

+0

@jenniferJolie:这就是我在我aswer的前半部分解释。你不能在同一个语句中使用'setInterval'和'window.location'(但是在保留代码时确实显示了它应该看起来如何)。 –

0

它只能重新加载一次,因为一旦你改变了window.location你离开了你的页面。

您需要打开新命名窗口中的链接或将子页面嵌入到iframe中。

setInterval(function() { 
    window.open($('#thisLink').attr('href'), 'mywindow', ''); 
});​ 
1

如果这是你的页面,你可以在头使用,这只适用于它嵌入的页面,并且不会继续重新加载其他页面外部网站?

1

setInterval在浏览器重新加载之间不持续。另外,它以一个函数作为第一个参数。你可以尝试这样的:

setTimeout(function() { 
    window.location = $('#thisLink').attr('href'); 
}, 1000); 

它将等待1秒前重定向。如果您正在重定向的页面具有相同的代码,则它也会执行相同的操作。