5

私はJavaScript関数を別々の.jsファイルに書いています。私の最後のプロジェクトでは、JavaScript ファイルの数が多く、リクエストの数が多かったため、ページの読み込みが遅くなりました。したがって、実験目的で、拡張子が .php のいくつかの .js ファイルを変換し、include ステートメントで追加しました。これにより、ロード時間のパフォーマンスが向上しました。.php ファイルに JavaScript を記述することには多くの利点があります。PHP 変数にアクセスして、簡単に JavaScript に渡すことができます。

ここでの私の疑問は、javascript を .php ファイルに記述してからそれらを含めることの欠点はありますか?

私が理解しているのは、ページが読み込まれると、javascript ファイルが呼び出され、php 部分が並行して実行されるということです。そのため、onload 関数を記述します。

4

3 に答える 3

8

PHPを使用してサーバー側で複数のJavascriptファイルを1つにコンパイルする場合は、次のように実行できます。

<?php
// script.js
header('Content-Type: text/javascript'); // Tell browser to treat file as Javascript

$files  = array(
    'script-1.js',
    'script-2.js',
    'script-3.js'
);

foreach($files as $file){
    // Import each file
    echo file_get_contents($file).PHP_EOL;
}

次に、ページで、Javascriptファイルであるかのようにそのファイルを参照します。

...
<script src="script.php"></script>
...
于 2012-11-24T07:46:40.577 に答える
3

ほとんどのブラウザーは、2 つ以上の同時接続を使用してリソースをロードできます。そのため、JavaScript を別のファイルに保存すると、ブラウザはすべての接続を完全に利用できるようになります。<script>JS の読み込みが始まる前にページのコンテンツが書き込まれるように、HTML のできるだけ最後にタグを含める必要があります。

PHP を使用する利点の 1 つは、JS ファイルを gzip してサイズを縮小できることです。

JavaScript ファイルのサイズが小さい場合 (100 KB 未満など)、1 つの PHP スクリプトに多数のファイルを含める方が高速な場合があります。ただし、JavaScript ファイルが 500 KB などのように大きい場合は、ファイルを分けた方が速くなる可能性があります。

実験と調整は、答えを見つけるのに役立ちます。ここには普遍的な真実はありません。

于 2012-11-24T07:43:06.197 に答える
1

php から js ファイルをロードする際の問題は、ブラウザーでのページのレンダリングが遅くなるため、応答のサイズが大きくなることです。一方、ブラウザーが js ファイルをロードしている場合、ブラウザーは js ファイルに対して異なる要求を送信するため、最初のページの読み込みを遅くしたくない場合は、php に js を配置しないでください。

js ファイルの読み込みを高速化したい場合は、次のことを行います。

  1. javascriptCompressorjsminiなどのツールを使用して、すべての js ファイルを縮小します。
  2. これらの縮小されたファイルを、cdn をサポートする他のサーバーに配置します。無料の cdn でファイルを無料でホストできます。cdn からの読み込みは常に高速で、ブラウザーは一度に複数のファイルをダウンロードできます。

  3. Google cdn url から jquery やその他のライブラリなどのファイルをロードするか、それぞれのサイトで有効期限ヘッダーを使用して、ブラウザーが js ファイルを長期間保持できるようにするため、非常に要求されたときにロードされません。

これらのテクニックに従うと、ページの読み込みが速くなります

于 2012-11-24T08:10:40.097 に答える