20

私はyepnope.jsを使用して javascript ファイルを動的にロードしていますが、Firebug と Webkit Inspector によると、スクリプトが 2 回ロードされているように見えることに気付きました。

問題は、Firebug の Net パネル (最新の Firefox 4) で、応答が200ではなく であること304です。Chrome より遅いようです。

この問題を示すビデオをアップロードしました。ファイルがどのように読み込まれるかを確認できjquery-1.6.1.min.jsますlibs.js

これを行うために使用しているコードは、次の単純化されたものです。

Modernizr.load({
                load: ['jquery-1.6.1.min.js', 'libs.js'],
                complete: function () {
                    console.log("loaded");
                }
});

Modernizr.load()ですyepnope()

4

1 に答える 1

25

ドキュメントには、これに関するメモがあります。

http://yepnopejs.com/から

開発ツールに 2 つのリクエストが表示されます。すべてが 2 回読み込まれるのはなぜですか?

ブラウザとサーバーによっては、これはいくつかの異なることを意味する可能性があります. yepnope の動作の性質上、すべてのファイルに対して 2 つの要求が行われます。最初のリクエストはリソースをキャッシュにロードすることで、2 番目のリクエストはそれを実行することです (ただし、リソースはキャッシュにあるため、すぐに実行する必要があります)。2 番目のリクエストがキャッシュされている限り、2 つのリクエストが表示されるのはごく普通のことです。2 番目のリクエストがキャッシュされていない (そしてスクリプトの読み込み時間が 2 倍になっている) ことに気付いた場合は、スクリプトのキャッシュを許可するために正しいキャッシュ ヘッダーを送信していることを確認してください。これは yepnope にとって不可欠です。適切なキャッシュが有効になっていないと機能しません。実際に、テスト スイートで 2 回読み込まれないようにテストします。

于 2011-06-20T05:53:51.867 に答える