2009-02-25 7 views
10

質問はすでにかなりすべてが言います。javascriptをヘッダーの外に置くのはどれくらい難しいですか?

私はweekend projectにいくつかの機能を追加し始めています。それは私にとってはちょっと役立つ、交換学生であるので、私にとっては小さなアプリ、いくつかの友達です。

しかし、私はこれをPHPで行い、インクルードですべてを構造化しているので、コードを分けることができます。これらのコードの一部はJavaScriptのスニペットに依存しているので、JavaScriptを本体の中央に配置するのはどれくらいの難しさですか?または、私はちょうどダブルが含まれているので、JavaScriptがヘッダーにとどまるようにする必要がありますか?

答えて

2

Javascriptを本体に配置するのはまったく問題ありません。 「インライン」Javascriptのようなものもあります。それをやめすぎないでください。スクリプトを別のファイルにパッケージ化することができれば(これは必ずしも可能ではありません)、コードをよりメンテナンス可能にします。

1

悪い理由があります。

GOOD)スクリプトがページDOMの構築に重要でない場合、Jim Pulsが示唆しているように、通常はルートBODYノードのページの一番下にできるだけ早く行うのがよいでしょう。これはXHTMLがすぐにレンダリングできるようにして、ページが「読み込み速度が速い」という心理的効果を作り出すのに役立ちます。実際には、ユーザーが白いブラウザーウィンドウを見ている間にブラウザーがJSサイクルをダウンロードし、解釈し、実行することをブラウザーが消費していないことを除いて、同じ速度でロードしています。

BAD)スクリプトタグは、通常、添付された順序で解釈されてダウンロードされます。これは、それらが含まれる順序を注意深く管理する必要があることを意味します。また、ブラウザが接続を確立し、キャッシュをチェックし、ダウンロードしなければならないため、一度に1つずつロードするため、参照するファイルが増えるたびに高いコストがかかる。IEの「DEFFER」などのトリックは標準ではない。この理由から、開発から実稼働に移行するときには、ユーザーが複数の接続を連続して行う必要がないように、javascriptを単一のファイルにパッケージ化することを強くお勧めします。また、gzip圧縮がオンになっていることを確認してください。

GOOD)AJAXを使用してスクリプトを遅延ロードする方法があります。あなたはseverにJSを要求し、ファイルがロードされるとイベントを発生させます。その後、そのシンボルを有効範囲に収めるeval(またはより安全な変形)を呼び出すことができます。これにより、スクリプトのパラレルダウンロードが可能になります。

GOOD & BAD)IEでは、DOMが完全に読み込まれる前にDOMツリーを操作しないでください。このために 'dom:loaded'イベントを探します。

関連する問題