13

新しいサイトを開発したり、css を含む新しいサイトの変更をテストしたりしているときに、新しいコードがコミットされ、誰かが変更を確認しようとすると、常に古い css のキャッシュ バージョンが表示されます。画面に最新の css があるかどうかわからないため、これはテストで多くの問題を引き起こしています (シフトして更新をクリックするとこのキャッシュがクリアされることはわかっていますが、エンドユーザーがこれを行うことを知っているとは期待できません)。私の可能な解決策は何ですか?

4

4 に答える 4

9

静的ファイル (またはクエリ文字列が重要ではないもの) から CSS を提供している場合は、完全に異なるリソースをプルしていると見なされるため、ブラウザーが新しい要求を行うように変更してみてください。たとえば、次のようにします。

マークアップの CSS リファレンスで「styles.css?token=1234」を指定し、各 CSS チェックインで「token」の値を変更します。

于 2008-09-22T20:58:19.250 に答える
5

開発環境では、Expires ヘッダーをはるかに低く設定します。実稼働環境では、リリースを行う約 1 週間前に、高く設定してから低く設定します。

于 2008-09-22T20:57:11.733 に答える
2

同じ問題/解決策がある、この質問の JavaScript バージョンに対して与えられた同様の (もう少し詳細な) 回答

積極的な JavaScript キャッシングを支援する

于 2009-03-18T22:05:15.433 に答える
2

これは素晴らしい解決策ではありませんが、CSS ファイルへの呼び出しの最後にクエリ文字列を追加することで、ページ レベルでこれを回避しました。

 <link href="/css/global.css?id=3939" type="text/css" rel="stylesheet" />

次に、ページの読み込み時に常に異なる値が読み込まれるように、id 値をランダム化します。次に、本番環境にプッシュする前にこのコードを取り出します。コミットごとに一度だけロードする必要があるように、構成ファイルから値をプルすることもできると思います。

于 2008-09-22T21:01:06.000 に答える