2012-12-09 113 views
2

時候,我有以下代碼:防止JavaScript來刷新每個頁面加載

<script type="text/javascript"> 

var Value = new Date(); 
var min = Value.getHours(); 

setTimeout ("Timeout()", 1); 

function Timeout() 
{ 
    for (var i = 0; i <= 15; i++) { 
    var x = document.getElementsByClassName("d")[i]; 
    x.innerHTML = (min + ":" + "0"); 
    }; 
    min--; 
    setTimeout ("Timeout()", 1000); 
} 

</script> 
<p class="d"></p> 

現在我的問題是,每次我刷新變量被重置的頁面。有沒有辦法在一段時間內設置變量一次,所以它不會被重置? 謝謝

+2

有你看着設置一個cookie來存儲變量的當前值? – nnnnnn

+0

你刷新的意思是什麼?你是否意味着從服務器上獲取?或阻止運行js代碼? –

+0

這就好像問爲什麼重啓本機EXE程序時重置變量(例如)。 刷新頁面意味着重新執行整個頁面,包括javascript代碼。您可以存儲您想要保留在LocalStorage或Cookies中的值。 –

回答

0

有幾種方法可以實現這一點。您可以使用cookie保存變量 - see here for more info並檢查下一個請求,如果設置了cookie。

除此之外,您還可以利用URL參數來保持狀態

location.hash = your_var; 

並檢查後的下一個請求,如果location.hash已設置。還有其他幾種可能性,我只告訴你兩種方法來做這樣的事情。

0

猜測的最簡單的方法是使用cookie,你可以做到這一點很容易使用jQuery的cookie的插件,this one for example,這使得儲蓄一樣簡單:

$.cookie("example", "foo"); 

和閱讀:

$.cookie("example")