我想用 jquery 每秒重新加载一个 url,我尝试如下代码,这个代码只重新加载一次 url。我该怎么办?
<a href="http://myweb.com/" id="thisLink"></a>
setInterval(window.location = $('#thisLink').attr('href'), 1000);
演示:http: //jsfiddle.net/QBMLm/
我想用 jquery 每秒重新加载一个 url,我尝试如下代码,这个代码只重新加载一次 url。我该怎么办?
<a href="http://myweb.com/" id="thisLink"></a>
setInterval(window.location = $('#thisLink').attr('href'), 1000);
演示:http: //jsfiddle.net/QBMLm/
如果它是您的页面,您可以在 head 中使用它:
<meta http-equiv="refresh" content="1;url=/">
当然,这只适用于它嵌入的页面,并且不会继续重新加载其他一些外部站点?
setInterval
在浏览器重新加载之间不是持久的。此外,它需要一个函数作为第一个参数。您可以尝试以下方法:
setTimeout(function() {
window.location = $('#thisLink').attr('href');
}, 1000);
它会在重定向前等待 1 秒。如果您要重定向到的页面具有相同的代码,它将执行相同的操作。
一旦你重新加载 url(window.location
更改),它的上下文(和范围)就setInterval
变得毫无意义(页面被丢弃并加载下一个页面)。然后重新加载并setInterval
重新分配脚本。
哦,从语法上讲,该代码是无效的。您可能希望将window.location
部分包装在 a 中function(){}
,例如
setInterval(function(){
window.location = $('#thisLink').attr('href')
}, 1000);
否则它实际上不是以间隔方式执行,而是立即执行。
它只重新加载一次,因为一旦你改变window.location
你离开你的页面。
您需要在新命名窗口中打开链接或将子页面嵌入iframe。
setInterval(function() {
window.open($('#thisLink').attr('href'), 'mywindow', '');
});