TLDR IEは、URLにMath.random()が含まれていても、リクエストをキャッシュしています。
だから私は私のURLの最後にランダムに数学を追加しました:
var MYKMLURL = 'http://' + host + 'data/pattern?key='+ Math.random();
また、関数パラメータにランダムな数学を追加しました。
window.setTimeout(RefreshPatternData, 1000, MYKMLLAYER);
function RefreshPatternData(layer) {
layer.loaded = false;
layer.setVisibility(true);
layer.refresh({ force: true, params: { 'key': Math.random()} });
setTimeout(RefreshPatternData, 30000, MYKMLLAYER);
}
したがって、リクエストはhttp:// host / data / pattern?key=35678652545などとして表示されます。
リクエストが行われるたびに変更されます。
Firefox、Chrome、Safariなどで動作します。ただし、IE8はまだデータをキャッシュしており、レイヤーを更新していません。
なぜこれが発生する可能性があるのかについてのアイデアはありますか?
だから私は追加しました:
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="0">
まだデータをキャッシュしています。他にアイデアはありますか?