2011-02-21 12 views
1

私はブラウザ内で動作するアプリケーションを持っています。私がページやJavaScriptに変更を加えると、私は奇妙な結果を得るユーザーからの呼び出しを受け取り始めます。私は彼らにキャッシュをクリアするように指示し、すべてがうまくいきます。私は最新のページを入手するためにブラウザを入手します

私は強制、または、ブラウザがページの新しいバージョンを取得するために提案することができます方法はありますか?

おかげ

答えて

1

私は完璧な解決策を見つけたと思います。私はあなたが?ファイル名の後にいくつかのユニークな文字があれば、そのバージョンが変更されると、ブラウザは新しいバージョンを取得します。

ので、代わりの:

<link href="css/mycss.css" rel="stylesheet" type="text/css" /> 
<script type="text/javascript" src="./js/ngen.js"></script> 

コード:

<link href="css/mycss.css?1.0.28" rel="stylesheet" type="text/css" /> 
<script type="text/javascript" src="./js/ngen.js?1.0.28"></script> 

と私はPHPを使用するので、私は私のメインのconfig.phpにリリースを持つグローバルを作成し、ファイルへの上にそのタック参照。キャッシュされたHTMLについて

$GLOBALS['V_UNIQUE'] = "?1.0.28" // my current release number 

<link href="css/mycss.css?1.0.28<?php echo $GLOBALS['V_UNIQUE']?>" rel="stylesheet" type="text/css" /> 
1

編集:

http://www.webmasterworld.com/forum21/10628.htm

はこの答えに.jsファイル/ .cssのための提案を参照してください:

ページのキャッシュを停止するには情報のため、このページを参照してください

How to force browser to reload cached CSS/JS files?

アイデアはファイル名が変更されたときにタイムスタンプを付けることで、ファイル名が変更され、ブラウザは強制的に新しいコピーをロードします。

+0

何?昨日、私はダイアログのHTMLを変更しました。ほとんどの場合、何人かの人が空白のダイアログを表示していましたか? – sdfor

+0

私の編集で提案した最初のリンクを参照してください。 – mellamokb

3

あなたはあなたのファイルをキャッシュからブラウザを防ぐために、サーバー側でCache-Control: no-cacheヘッダーを設定することができます。

+0

ブラウザがそれを尊重する限り。最初のリンクのように、複数のノーキャッシュ方式を使用することをお勧めします。 – mellamokb

関連する問題