私のプロジェクトでは、javascriptから非常に大きな.jsファイルをロードしてキャッシュする必要があります。JavaScriptをロードしてキャッシュする
私は実際には、私は3種類の方法を試してみました、ということですが、それぞれにこの<script src="assets/js/app.js"></script>
のような通常のタグでスクリプトを置くために、ログインページからスクリプトファイルをロードしたい、その後、他のすべてのページで1つのファイルはキャッシュされません。また、ページを変更した場合、ログインから別のページに変更すると、ブラウザは再度ダウンロードします。私はJavaScriptで要素を作成し、私は自分のページにこの要素を追加した第1の方法では
:
var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = url;
// Fire the loading
head.appendChild(script);
秒では、私はjQueryのgetScript
を使用:
$.getScript('assets/js/app.js',function(){
alert('OK');
});
とで私はアヤックスコールで試してみました:
$.ajax({
type: "GET",
url: "assets/js/app.js",
success: function(){},
dataType: "script",
cache: true
});
しかし、これらの方法のどれもスクリプトをキャッシュしているようだ。 これを取得する方法はありますか?
UPDATE
私は問題を解決しました。最初の方法が働いた。クロムのデバッグ設定で「キャッシュを無効にする」チェックボックスがオンになっていることを忘れてしまった。 (私はIE11、Firefox、Edge、Chromeで試しました)
かもしれません必要に応じてクリアしてください。 – Pawan
よくgetScriptは、ボックスからキャッシュを抜け出すために使用します。 JS oneはキャッシュから読み込む必要があります。ファイルに適切なキャッシュヘッダーが設定されていますか?あなたのデバッグツールは、[それらの設定を持つ]ファイルをキャッシュしないように設定されていますか? – epascarello
_ "そして他のすべてのページ" _あなたはすでに読み込まれていないかもしれない 'htmlドキュメントを分離していますか? – guest271314