1

この魔法のすべてがどのように機能するかについての私の理解は次のとおりです(私が間違っている場合は私を訂正してください):

PHP / JS / HTML / CSS Webサイトでは、ページが要求されると、サーバーはファイル(この質問の参照用のindex.php)を読み取り、<?php ?>タグ/構成を実行して作業を行います。次に、完成した作業を1つの完全なページとして要求者に送信します。次に、リクエスターは(ブラウザーを介して)ファイルを読み取り、「通常の」順序でファイル(index.php)を実行します。複数のページに同じJSスクリプトとライブラリを含めたい場合、JSを(安全にそして慣例に従って)含めることができますか?

<script type="text/javascript" src="LIBRARY/1.js"></script>
<script type="text/javascript" src="LIBRARY/2.js"></script>
// etc... for libraries, then also include inline scripts like:
<script type="text/javascript"> 
    $(document).onLoad(function(){
    });
</script>
<script type="text/javascript"> 
    $(document).ready(function(){
    });
</script>

PHP経由で:

<!-- JS -->
<?php include ("component/js.php"); ?> 

これが可能な場合は、これらをページの下部に含めるのが最善ですか、それともライブラリを下部、onLoad上部、ready下部、またはロード時間の最適化のための他の特定の場所に配置する必要がありますか?

4

3 に答える 3

1

これが可能な場合は、これらをページの下部に含めるのが最善ですか、それともライブラリを下部に配置するか、onLoadを上部に配置するか、下部に準備するか、またはロード時間の最適化のための他の特定の場所に配置する必要がありますか?

すべてのJSをドキュメント対応のコールバック関数でラップするか、タグを下部に配置します。それ以外の場合は、ページの読み込み時に上部のブロックを延期または非同期タグ属性に依存することになり、これら2つの属性はまだ全面的にサポートされていません。

JSについてには、最適化が含まれます。

JSインクルードのコードを再利用する方法を考えているのは良いことですが、上記のように、アセットファイルでコードを管理するための良い最初のステップです。

ただし、ページをレンダリングするために処理するコードの量が増えるため、PHPのパフォーマンスの点で欠点があります。

これが、一部の開発者がrequire.jsなどのクライアント側のアセットマネージャーを使用することを選択する理由です。

于 2012-11-12T20:38:50.107 に答える
0

onLoadとreadyはほとんど同じ関数であり、ページの読み込み後にjavascriptが読み込まれるため、ページの下部にすべてのjavascriptを含める必要があります。

于 2012-11-12T20:06:10.840 に答える
0

このアドバイスをよく耳にしますが、個人的にはjavascriptを一番下に置くことはお勧めしません。これは主に、読み込みパフォーマンスとスクリプトブロッキングに関係しています。これは、今日の最新のブラウザではそれほど大きな問題ではありません。

整理のために、私は自分の台本を頭の中に入れたいのですが、最後に、それはあなたの個人的な好みに帰着します。Yahooでさえ、スクリプトを一番下に置くことを推奨しているので、それは間違いではありません。

jQueryを$(document.ready操作するときに(DOMツリーが完全に解析され、画像が完全に読み込まれる前に起動します)、jQuery自体を読み込んだ後に初期化コードを配置します。

それとは別に、Webページの要求/応答の構造に関する基本的な理解は正しいです;)。

于 2012-11-12T20:27:03.367 に答える