2012-03-19 3 views
3

Google Page Speedでウェブサイトをテストすると、Defer parsing of JavaScriptを取り除くことができませんでした。私はちょうどJQueryのJavaScriptの解析を遅らせる

<script defer type="text/javascript" src="jquery.min.js"></script> 

としてjQueryのファイルをスタンドアロンでロードすることまだDefer parsing of JavaScriptの警告を取得し、すべてのjavascriptのコードを削除し、任意のjQueryコードなし

<script defer type="text/javascript" src="jquery.min.js"></script> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     $('.test').click(function(){ 
      $(this).slideDown(); 
     }); 
    }); 
</script> 

あるいはとしてだけ小さいものを残しました。

+0

基本的には、クライアントコードはどこかに '.js'ファイルに存在している必要があり、 '

2

ないことは述べて

<script defer='defer' type="text/javascript" src="jquery.min.js"></script> 

代わりの

+4

xhtmlを使用しているかどうかに依存しませんか? –

+0

'defer'を使うだけです。 'defer = 'defer'は必要ありません。 –

10

@samsaffronはjQueryのを延期に良い記事を書いた - http://samsaffron.com/archive/2012/02/17/stop-paying-your-jquery-tax

+1

この回答は受け入れられるものです。その1つのURLは、非常に貴重な参考資料を提供しています。よくやった! –

+3

さて、記事がどんなに良いものであっても、そのリンクは他の多くの人のように壊れる可能性があります。 – DOK

1

ちょうどあなたのスクリプトasync例にこれを追加します。

<script type="text/javascript" async src="jquery.min.js"></script> 
+0

これは必ずしもうまくいくとは限りません。読者がモジュラーフレームワーク/プラットフォームでこれを行う場合は、JSコンソールで「プロパティを読み取れません」や「未定義」などのエラーをチェックしてから、これらの呼び出し/モジュールを修正してください。このような動作を期待し、将来の改造でも調整を必要とします(これは正しく非同期/非同期になることはありません)。 – dhaupin