3

以下のコードを使用してyepnopeを使用してJSファイルを読み込もうとしています。

yepnope({
    load: '<?php echo base_url(); ?>static/js/highlight.min.js',
    complete: function()
    {
        hljs.tabReplace = '    ';
        hljs.initHighlightingOnLoad();
    }
});

ただし、firebugを調べて何がロードされているかを確認すると、2回ロードされていることがわかります。私は混乱しているので何か間違ったことをしていますか?

ここに画像の説明を入力してください

4

1 に答える 1

6

投稿する前に、既存の回答をもっと探す必要がありました。

開発ツールに2つのリクエストが表示されていますが、なぜすべてを2回ロードするのですか?

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

于 2012-03-28T19:13:26.483 に答える