2012-09-26 11 views
15

DOMの準備が整う前にjQueryコードを実行する方法はありますか?DOMの準備が整う前にjQueryコードを実行していますか?

+1

はい。しかし、DOMと相互作用する部分は機能しません。 –

+2

はい、ありますが、jQueryは主にDOMを修正することを意図しているので、なぜあなたはしたいですか? –

+0

参照:: http://stackoverflow.com/questions/4124765/how-to-load-jquery-before-dom-is-ready –

答えて

16

jQueryはちょうどJavascriptなので、実際には「DOMが準備される前にJavaScriptを実行することは可能ですか?」という質問があり、DOMではなくドキュメントを意味すると思います。

「ドキュメントが準備完了する前にJavaScriptを実行することは可能ですか?」という質問に同意することができます。答えは「はい」です。 JavaScriptは遭遇したときに実行されます。

最もjQueryのコードが準備する書類が必要ですので、あなたがほとんど常にまたは$(document).ready(function(){...})のいずれかを参照してください理由ですが、文書の準備が整う前に、イベントハンドラを取り付けるコードが必ず実行される(それ以外の場合は、処理することができません文書準備完了イベント)。

通常、JavascriptのインクルードはHTMLの下部に配置する必要がありますが、以前に実行したければ簡単にドキュメントに配置することができます。ヘッダーに

<html> 
    <head> 
    ... 
    <script> 
     //place your code to be executed early here 
    </script> 
    </head> 
... 
</html> 
3

、あなたの文書の頭の中にjQueryを含め、その後、頭の中で別のスクリプトタグ内にコードを記述する場合、DOMの準備ができる前に、それが実行されます:

<head> 
    <script src="jquery.js"></script> 
    <script> 
     // Do some stuff before the DOM is ready 
    </script> 
</head> 
<body> 
    <!-- Browser hasn't got this far, so no elements will be available --> 
</body> 

しかし、明らかにあなたは」勝ちましたまだ存在しないため、DOM要素と対話することはできません。


あなたは(ブラウザがそれをレンダリングしている間)は、ページに挿入されているとして、あなたがDOM要素と対話できるようにすることができます近代的なブラウザで使用することができます技術がある、と述べました。それは CSS animation eventsに依存します。これを扱いやすくするために a simple library (Progressive.js)と書いています。

関連する問題