2012-03-23 13 views
0

私は512mbのramとubuntu 10.04の64bitとMongodbを持つlinode vpsでレール3.1 + nginx + unicornを使用しています。nginxとunicornのレール3.1でJavaScriptの解析を遅らせる

私はあなたが次の画像で見ることができるよう、私の本番サーバーでGoogleのページスピードでアラートを取得:

enter image description here

私は資産をプリコンパイルし、正常に動作しています。

その後、私の質問は:

どのように私は私のプロジェクトレール3.1でこのアラートを削除することができますか?

ありがとうございました!

+0

ここにはいくつかの方法があります。 'First'非同期スクリプト読み込みを使用して、スクリプトがページ読み込みをブロックしないようにすることができます。 'Second'あなたはページロード時に必要のないすべての関数を単純に移動し、window.onLoad関数または($(document)).ready(function(){jQuery内)に入れてください – Ohgodwhy

+0

ありがとう、あなたはコードの例を書くことができますか?ありがとうございました! – hyperrjas

答えて

0

ページロード時にロードする必要のないコードは、jQueryまたはJavaScriptを使用した後にロードできます。あなたがそれらのいずれかの方法を使用することができます

$(document).ready(function(){ 
    //defers js to load on document ready 

}); 

:jQueryの

window.onLoad = function(){ //defers js to load on window ready } 

:私はあなたの両方の

ジャバスクリプトを紹介します。

非同期スクリプトの読み込みでは、Googleを読み込んで数千の例を得ることができます。

+0

ありがとうございます、それは私のためにうまくいきます:D – hyperrjas

1

ページロードのプロファイリングが特に遅いことを示唆しない限り、これを設定する価値はないかもしれません。

javascriptタグは、頭の代わりにページの一番下に、準備ができたブロック内にDOMが準備されるまで待つ必要があるコード(他の回答に記載されているように)があるはずです。

これにより、ページが最初にCSSと共に読み込まれ、JSがダウンロードされて実行されている間にレンダリングが開始されます。

解析の遅延は、ユーザーの操作を目的としたページに多数の機能があり、ページを表示する必要がない場合に最も便利です。

詳細are here

+0

提案ありがとうございます:D – hyperrjas

関連する問題