2012-04-11 10 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-has-loaded) – ManseUK

+0

Look重複の一番上の答えでは、命令の実行順序がわかります... '$(window).load()'が本体の一番下にあることを確認してください。 '$(window) $(document).ready() 'となり、すべての画像とすべてが実行されます – ManseUK

+0

@ManseUKページスクリプトの後にページの最後にコードを貼り付けるべきですか? – Exception

答えて

0

画像に問題がある場合は、それらをプリロードする必要があります。
this extensionを試してみてください。