0

多数のJSファイルをロードするプログラムがあります。すべてのプラットフォームで問題なく動作しますが、IE7 では動作しません - はい、IE7 です。ページにアクセスするたびに読み込み設定を維持しても、キャッシュからファイルが読み込まれます。それを避けるために、JS ファイルにタイムスタンプを追加し、毎回動的で一意の URL をロードしようとしました。他のすべてのブラウザーでは正常に動作していますが、IE7 では正常に動作していません。私のコードは次のとおりです。

document.write('<script src="' + Filename + '?dev=' + dateStr + '"\><\/script>');

インターネット一時ファイルをチェックすると、可変部分 (timestamp ?dev=' + dateStr ) が切り捨てられ、ファイル名のみが読み込まれます。そのため、ページが更新されると、キャッシュからファイルが再度選択されます。任意の提案をお願いします。

4

2 に答える 2

1

Noman Solutionもチェックしてください..

1つは私のために働きます!以下に記載されています

ファイルを使用したロード

var s = document.createElement('script');
s.type = 'text/javascript';
s.src = 'path/to/file?' + new Date().getMilliseconds();

document.getElementsByTagName('head')[0].appendChild(s);

オンライン リポジトリを使用した読み込み

Jquery

$.getScript("http://repoforjs.com/myjsfile.js");

JavaScriptを使用

var scr = document.createElement("script");
scr.src = "http://repoforjs.com/myjsfile.js" + "?ts=" new Date().getTime();
document.getElementsByTagName("head")[0].append(scr);

詳細については、次を参照してください。

リファレンス 01

資料02

于 2013-10-25T05:28:30.260 に答える
0

次のタグで試しましたか

<meta http-equiv="cache-control" content="max-age=0" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="expires" content="+dateStr+" />
<meta http-equiv="pragma" content="no-cache" />

うまくいくはずだと思います。

于 2013-10-25T04:58:30.343 に答える