2017-02-17 22 views
12

バージョンをデプロイするときに、次のようにJavaScriptとCSSファイルを使用して数字をクエリ文字列として追加しますか?Google Chromeでキャッシュがクリアされない

'app/source/scripts/project.js?burst=32472938' 

私はブラウザでキャッシュをバーストするために上記を使用しています。

しかしFirefoxでは、私が変更した最新のスクリプトを入手しています。 しかし、Chromeでは、私が変更した最新のスクリプトを入手できません。その代わりに、私は古いものを手に入れています。

しかし、開発者コンソールでは、最新のバースト番号が表示されています。

+0

プロジェクトでサービスワーカーを使用していますか? –

答えて

2

これがまだ当てはまるかどうかは不明ですが、プロキシがキャッシュ文字列の値を無視してキャッシングを行う可能性があるケースもありました。 2008年の記事では、クエリ文字列の値がキャッシュを破る目的には理想的ではなく、ファイル名自体を改訂する方が良いとの考え方が議論されているので、query-stringではなくproject_32472938.jsを参照しています。

(特定のクライアントがこれらのアップデートを見ていないという珍しいケースについても説明しましたが、矛盾しているように見えますが、Chromeには関係しませんが、特定のマシンにChromeをインストールすることをお勧めします。別のパソコンのサイトをチェックして、問題が繰り返されるかどうかを確認することをおすすめします。問題を抱えている)

2008年以来ずっとずっと続きましたが、最近は適用されない可能性があります。しかし、引き続き問題がある場合、根本的な問題に対する解決策を見つけることができない場合は、少なくともそれを回避するための方法を提供します。それはほとんどすべてのWebアプリケーションを破る ので、私はクロームが実際に問題を引き起こすことはないと思う

1

、 (例:https://www.google.com/searchQ =針?)

それはあなたの展開は少しだったことが考えられ遅れた、例えば。スタートはクロームと

  • チェック(新しいIDに古いバージョンを受け取る)
  • あなたは、Firefox(新しいバージョンを受け取る)
  • クロームはまだので、古いバージョンを示して試す仕上げ
  • をインストールし、新しいスクリプトをインストール

    1. 新しいIDで古いスクリプトをキャッシュしました

    または、Webサーバーとブラウザの間にAzureのようなCDNがあります。

    標準設定では、Azure CDNはキャッシュハッシュのクエリ文字列を無視します。

  • 1

    は、これらのメタタグを試してみてください。

    <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="Tue, 01 Jan 1980 1:00:00 GMT" /> 
    <meta http-equiv="pragma" content="no-cache" /> 
    
    +0

    私はこれを設定したら、キャッシュはありません。:-( –

    0

    Iわからないが、試すために...

    グーグルクロームは常にそれを無視..

    ウェブサイトでURLを押すたびに、「?random.number」または「?date.code」を各リンクに追加する必要があります。 たとえば、 'myhomepage.html?272772'がキャッシュに保存されている場合、新しい乱数、たとえば 'myhomepage.html?2474789'を生成すると、Google Chromeは新しいコピーを探すよう強制されます。

    関連する問題