2012-04-11 91 views
1

我的要求是,我必須在所有頁面腳本執行完成後執行腳本。我使用下面的代碼做同樣的在這種情況下檢測window.load的有效方法

$(window).load(function() 
{ 
    var j = setTimeout (function() 
    { 
    alert("All page scripts have been executed and DOM is ready."); 
    // And here the script will work 
     to update the DOM changes made by the pagescripts. 
    },100); // Here execution time cant be less than 100 all the time, right? 
}); 

但問題是,在上述情況下,我已經使用時間100.但有時頁面在101毫秒加載。在這種情況下,腳本無法更新更改。 讓我們看看這個例子

有一個頁面腳本,當DOM準備就緒時,它會將圖像添加到DOM。如果我使用

$(document).ready() 

腳本無法檢測圖像,因爲圖像尚未添加到DOM。

如果您需要更多關於問題的解釋,請讓我知道。

+1

可能的重複[延遲jquery腳本,直到一切都已加載](http://stackoverflow.com/questions/1012140/delaying-a-jquery-script-until-everything-else-hasloaded) – ManseUK 2012-04-11 13:49:48

+0

在重複的最上面的答案 - 它告訴你命令運行...所以只要確保你的'$(window).load()'在身體的底部 - 它將運行一次所有腳本在' $(document).ready()'並且所有圖像和所有內容都被執行 – ManseUK 2012-04-11 13:51:06

+0

@ManseUK你是說,我應該在頁面腳本後面粘貼代碼嗎? – Exception 2012-04-11 14:09:44

回答

0

如果問題是您需要預加載它們的圖像。
嘗試使用this extension

相關問題