2014-05-21 50 views
1

我有幾行代碼,我想在刷新頁面後運行。在jquery中重載頁面後運行代碼

function showServicesList(){ 
    location.reload(); 

    /* 
    * Statement1 
    * Statement2 
    * Statement3 
    * Statement4 
    */ 
} 

但網頁是令人耳目一新,但下面的代碼沒有運行..任何幫助..

+0

無限循環? – j08691

+2

'location.reload()'會立即重新加載頁面,就好像你手動重新加載/刷新了一樣。任何上下文都會丟失,並且腳本執行會暫停,從不會將其指向任何其他語句。 – phuzi

+0

你只想在重載之後運行代碼的其餘部分,還是可以在第一次加載時運行它? – phuzi

回答

6

嘛。如果您重新加載頁面,則任何JavaScript都會停止並重新加載。如果你希望你的代碼在頁面重新加載後運行,你可以添加一個散列。

window.location.hash = "triggerReloadCode"; 
window.location.reload(); 

if (window.location.hash.substr(1) == "triggerReloadCode") { 
    window.location.hash = ""; 
    /* Statements */ 
} 

我不知道這是否是最佳做法,但我會這樣觸發它。

+0

好的..讓我試試..我會讓你知道 –

+0

不,我得到了同樣的結果。代碼沒有運行 –

+1

你必須在加載頁面的時候(例如在你的腳本的頂部(沒有任何函數)調用函數之外的if-section),或者把它放在一個被調用的函數中在頁面加載。上面兩行可以留在你的函數中:http://jsfiddle.net/VP9NV/ – Fabic

相關問題