2015-04-02 32 views
1

在此代碼我看不到我的警告框,當我運行這段代碼
我不能看到警告框,同時執行此代碼

setInterval(function() { 
    location.reload(true); 
    $(document).ready(function(){ 
     alert($("h2").text()) 
    }) 
}, 6000) 

6秒後重新加載頁面,但我沒有看到我的警報box.I想知道爲什麼,假設標籤h2包含文本...謝謝

+0

你重新加載頁面,這意味着你殺了頁面上的所有腳本。這意味着doc.ready已被銷燬,永遠不會執行。 – 2015-04-02 14:48:00

+1

對於那些D4V1D標籤,我感到很抱歉,但是你沒有幫助我。這是一個錯誤,人類會犯錯誤!謝謝@Marc B,你解釋得很好;我剛剛成功了。 – franckstifler 2015-04-02 15:03:52

回答

1

只要它執行location.reload(true),頁面就會重新加載,而腳本的其餘部分將永遠不會執行。如果你想在頁面加載後報警(即第一負載和每重裝後)

$(document).ready(function() { 
    setInterval(function() { 
     alert($("h2").text()); 
     location.reload(true); 
    }, 6000); 
}); 

annoying demo #2),這樣做:

如果你想重新加載頁面(annoying demo #1)前的警告,這樣做這個:

$(document).ready(function() { 
    alert($("h2").text()); 
    setInterval(function() { 
     location.reload(true); 
    }, 6000); 
}); 
+0

感謝您的代碼,@Benjamin,它完美地工作 – franckstifler 2015-04-02 15:04:25

+2

不客氣。如果解決了問題,請接受答案。 「 – 2015-04-02 15:05:01

-1

你的事件已經發生在它被執行之前。應該使用這樣的事情,而不是...

setInterval(function(){ 
 
    (function(){ 
 
    alert($("h2").text()); 
 
    location.reload(true);  
 
    })(); 
 
}, 6000);

+0

」你的事件在執行之前就已經發生了「,這是相當混亂的。我期望這就是爲什麼你會陷入低谷。 – 2015-04-02 15:07:22

+0

正確的 - 我應該說的是文檔上的準備事件會在第一次間隔之前被解僱。 – 2015-04-02 15:17:52

+1

好吧,這也有點令人困惑,因爲在他的代碼示例中,ready事件根本不會被解僱,因爲所有的處理都會在reload()函數調用中停止。它不僅不會被解僱,它永遠不會被首先定義(因爲定義它的行永遠不會被執行)。 – 2015-04-02 15:23:46

相關問題