2009-07-21 5 views
0

ブラウザが2つの要求を一度に1つしか処理しないため、外部jsファイルの読み込みが遅れてウェブサイト全体の読み込みプロセスがブロックされないようにするにはどうすればよいですか?外部JSがあなたのサイトの読み込みをブロックする方法を教えてください。

共有ボタンを含めるとサーバーに負荷が掛かっていて、要求を処理する必要がある場合は、残りの部分を強制的にロードする方法を教えてください。または、サイトが既に読み込まれた後に外部スクリプトを追加する必要がありますか?

私はjQueryでRoRを使用しています。

ベスト、あなたがdinamycallyのjQueryの$(ドキュメント).ready()関数を使用して、外部JavaScriptをロードする必要があり オレ

答えて

4

個人的には、余分なアイテムを必要なものの後に読み込みます。 jQueryのは、すでにロードされ、その後、間違いなくこのブロッキングスクリプトを置くgetScriptの

$(document).ready(function(){ 
    $.getScript("urlofscript"); 

}); 

詳細()here

+0

もう一つ注意すべき:外部スクリプトを使用している場合document.writeを使用してこのメ​​ソッドを使用することはできません。document.writeはページ全体を上書きします。私はそのケースでaserync = 2をクエリ文字列に追加できることを発見するまで、Googleマップでこの問題を抱えていました。 –

2

< script>要素を作成し、ドキュメントに追加する必要があります。

1

場所あなたJavaScriptをページの最後には、ちょうど</body>の

0

前にジャスト(ちょうど</body>タグの前に)、文書の末尾に<script>要素を入れました。

1

以下のようにjQueryのからそれらをロードしているように、例えば

は、ページの下部にコードを追加しますあなたのページの終わりに、前に。

また、読み込みを遅くしたい場合や、ページを読み込むためのスクリプトが実際には必要ない場合は、document.write()オプションが有効です。

私も、このページからウェブページの最適化のルールを読んでお勧め

http://code.google.com/speed/page-speed/docs/rtt.html

やスティーブSouderの本のいずれかをお読みください。高性能のウェブサイトとさらに高速のウェブサイト

+0

良いリンク、ありがとう! –

+0

うれしいことに、私は間違いなく、PagespeedやYSlowという火かき棒アドオンをインストールすることをお勧めします。これは基本的に同じもので、同じ男(Souders)のメイです。 Pagespeedは、最近までパフォーマンスを測定するためのGoogleの内部ツールでした。 ツールは基本的に現在のページを見て、自分がリンクしているページに表示されるパフォーマンスルールに対してどのように対処するかを見て、ページを速くするためにできることを教えてください。 – linusthe3rd