0

サイトの1つまたはごく少数のページでのみ使用されるJavaScriptまたはCSSファイルがあるとします。また、人間が読み取れるURLなど、これらのページがいつ提供されるかを簡単に識別する方法もあります。スクリプトが必要かどうかを確認するためにサーバー側のテストを使用してJSに条件付きでサービスを提供することは悪い習慣ですか?たとえばPHPの場合、次のようにします。

<?php
if($page='myFancyPage')
{
?>
    <script src="myFancyScipt.js"></script>
<?php
}
?>

ブラウザのキャッシュのメリットを失っていませんか?私がこれをすべきではない他の理由はありますか?

サイトが大きくなり、条件文を積み上げる必要があるため、扱いにくくなる可能性があることを認識しています。しかし、その問題とは別に、この慣行を避ける理由はありますか?

4

4 に答える 4

4

条件がクライアントではなくサーバー上にあるため、いいえ。

クライアントはファイルを取得した理由がわかりませんが、取得するとキャッシュされます。

于 2012-05-15T18:14:57.603 に答える
1

ブラウザのキャッシュはクライアント側(ブラウザ)で行われますが、PHPはサーバー側で実行されます。ブラウザに含まれているページが表示された場合、サーバーからの応答ヘッダーで許可され、ブラウザがヘッダーに従うと仮定するmyFancyScript.jsと、そのページへの後続のすべてのリクエストは、キャッシュされたバージョンのを使用します。myFancyScript.js

于 2012-05-15T18:16:12.000 に答える
0

必要であり、提供されない限り、ファイルキャッシュの利点を失うことはありません。ファイルのキャッシュは、ファイルが変更されておらず、クライアントにすでに存在している場合にのみメリットがあります。

this余分なjs/cssを解析する必要がないため、ファイルの読み込みが速くなるため、外部ファイルに選択的にリンクする(ページに必要なファイルのみをリンクする)ことには利点があります。ページで必要になる

于 2012-05-15T18:16:22.780 に答える
0

場合によります...

多くの場合、追加の要求/応答のオーバーヘッドは、ファイルのソースが別のソースにマージされた場合よりも大きいため、ページが外部リソースに対して行う要求の数を最小限に抑えることをお勧めします。

これが、標準のパフォーマンスの推奨事項がJSファイルをマージして最小ダウンロード数を作成することである理由です。

于 2012-05-18T16:15:47.167 に答える