0

私の質問は、JavaScriptの追加コード(<script>...</script>検証などの単純なものを含むタグ-外部ソースにリンクしない)を<body>セクション内の上部に配置しても大丈夫ですか?

<head>そこに配置することと、セクション内にコードを配置することの間に違いはありますか?

ヘッドセクションが1つあるレイアウトファイルを作成したい。テンプレートごとに異なるjsコード部分があります。.jsファイルへの外部リンクを作成すると、PHPタグを追加できなくなるため、別の方法を見つける必要があります。

4

3 に答える 3

6

script要素にタグを配置しても問題ないだけでなく、 に配置bodyする正当な理由がない限り、理想には終了タグの直前に配置することheadをお勧めします。そうすれば、スクリプト ファイルのロードや JavaScript エンジンの起動とスクリプトの実行を待たずに、メイン コンテンツ (マークアップ) ができるだけ早くユーザーに表示されます。body</body>

参考文献:


あなたのコメントに関する補足:

各テンプレートには、コードの異なる js 部分があります。.js ファイルへの外部リンクを作成すると、PHP タグを追加する可能性が無効になるため、別の方法を見つける必要があります。

理想的には、たくさんのファイルをロードするのではなく、1 つのファイルだけをロードする方法を見つけてみてください。各 HTTP 要求には、かなりの量のオーバーヘッドがあります。上記の最初のリンクに表示される推奨事項の 1 つは、HTTP 要求の数を最小限に抑えることです。

于 2013-03-04T16:36:24.397 に答える
1

実際、それを一番上に置くことは、フォルマントが低く、それを置くのに危険な場所です。

クロージングボディタグの直前

http://developer.yahoo.com/performance/rules.html#js_bottom

スクリプトを一番下に置く タグ:javascriptスクリプトによって引き起こされる問題は、スクリプトが並列ダウンロードをブロックすることです。HTTP / 1.1仕様では、ブラウザがホスト名ごとに並行してダウンロードするコンポーネントは2つ以下であることが推奨されています。複数のホスト名からイメージを提供する場合、3つ以上のダウンロードを並行して実行できます。ただし、スクリプトのダウンロード中は、ホスト名が異なっていても、ブラウザは他のダウンロードを開始しません。状況によっては、スクリプトを一番下に移動するのは簡単ではありません。たとえば、スクリプトがdocument.writeを使用してページのコンテンツの一部を挿入する場合、ページの下部に移動することはできません。スコーピングの問題もあるかもしれません。多くの場合、これらの状況を回避する方法があります。よく出てくる別の提案は、遅延スクリプトを使用することです。DEFER属性は、スクリプトにdocument.writeが含まれていないことを示し、ブラウザーがレンダリングを続行できるようにするための手がかりになります。残念ながら、FirefoxはDEFER属性をサポートしていません。Internet Explorerでは、スクリプトは延期される場合がありますが、希望するほどではありません。スクリプトを延期できる場合は、ページの下部に移動することもできます。これにより、Webページの読み込みが速くなります。

于 2013-03-04T16:38:31.167 に答える
1

ページで呼び出す前にJavaScriptコードが含まれている限り、それが頭にあるか本文の上部にあるかに違いはありません。共通のヘッダーを作成する場合は、それを分離することをお勧めします。そうすれば、未使用のコードを呼び出すことはありません。

于 2013-03-04T16:39:21.477 に答える