2012-10-03 171 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秒前重定向。如果您正在重定向的頁面具有相同的代碼,則它也會執行相同的操作。