3

すべてのページの上部に読み込まれて挿入されるヘッダー ファイルがあります。このヘッダー ファイルは、次の ajax 呼び出しで読み込まれます。

$.ajax({
        url: '/header.html',
        cache: true,
        dataType: 'html',
        success: function ( data ) {
            $( 'body').prepend( data );
        }
});

HTML ファイルはキャッシュされるため、ユーザーが 1 つのページにアクセスすると、他のページに移動すると、他のページの上部でヘッダーがはるかに高速に読み込まれます。問題は、<script>その HTML ファイル内に次のタグがあることです。

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

そして、このスクリプトはキャッシュされません。Firebug の [ネットワーク アクティビティ] タブを確認したところ、末尾に一意の番号が付けられたスクリプトが要求されています。

GET http://localhost/header.js?_=1362254276028

ページが読み込まれるたびにスクリプトを取得するのではなく、HTML ページと同じようにキャッシュからスクリプトを読み込むように JQuery に依頼するにはどうすればよいですか?

4

1 に答える 1

-1

デフォルトでは、すべての JavaScript がキャッシュされます。追加のヒントは、Google がホストする jQuery ライブラリを使用することです。これは、HTTP/HTTPS を自動検出し、ユーザーが Google リンクを参照する他のサイトにアクセスしたことがある場合、再ダウンロードする必要がないためです。

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

中和された前面 (//) に注意してください。これは、HTTP/HTTPS を自動検出する方法です。

于 2013-03-03T04:37:30.397 に答える