5

HTML ファイルに次の内容があるとします。

<script type="text/javascript" src="whatever.js"></script>
<script type="text/javascript" src="whatever.js"></script>

2 度目にロードされますwhatever.jsか、それとも既にロードされていることをブラウザが認識して、再ロードをスキップしますか?

注: 他のコード スニペットを含む HTML テンプレートを使用しているため、これが思い浮かびました。その一部は同じスクリプトをロードする可能性があり、重複の可能性があります。重複するスクリプトの読み込みによってページが圧迫されないようにしたい。

4

2 に答える 2

3

ロードを「スキップ」することの意味によって異なります。

サーバーに 2 回アクセスすることを避けたい場合は、サーバー上で適切なキャッシュ コントロールを設定することで、ファイルが 2 回ダウンロードされるのを回避できます。

ファイルが 2 回実行されるのを避けたい場合、答えはノーです。ブラウザは 2 回目のファイルの実行をスキップしません。ファイルを巨大な「if」ステートメントでラップし、グローバル変数または HTML 要素をチェックして、ファイルが以前にロードされたかどうかをテストすることで、これを回避できます。

于 2012-09-03T17:57:28.000 に答える