1

Rails 2.3.4 で現在開発中のサイトに gravtar を使用していますが、gravtar 側に変更があった後でも、Rails 側が画像をキャッシュする傾向があることがわかりました。メソッドを使用するときにキャッシュを防ぐことができるjavascriptを知っていますが、ヘルパーjavacript_include_tag :cache => falseを使用するときにキャッシュを防ぐ方法はありますか?image_tag

少し読んだところ、URLの後にタイムスタンプ情報をいくつかのパラメーター(つまりsrc="image.png?123123")で追加していたようですが、もうそれをしていないようです。

何かアイデアはありますか、それとも、それらの便利なヘルパーを松葉杖として使用するのをやめて、レール開発の人生で一度、実際のコードを書くべきですか?

4

2 に答える 2

2

これを行うために考えられる 1 つのオプションは、Gravatar URL の末尾に「?YYYYMMDDHH」を追加する小さなヘルパーを作成することです。年、月、日、時間を含む URL を生成できます。このようにして、ブラウザのキャッシュは最大 1 時間だけ古くなります。

これにより、画像がブラウザーでキャッシュされる頻度が減るため、ユーザーが認識する読み込み時間が長くなります。YYYYMMDD、YYYYMMDDHHm など、さまざまな方法で調整できます。最新の Gravatar 画像とページのレンダリング速度の重要性を比較検討する必要があります。

于 2009-11-13T05:13:53.073 に答える
0

サイトhttp://en.gravatar.com/について話しているのですか?

Railsは、キャッシュバスティングのタイムスタンプのみをローカルリソースに追加します。画像が別のサイトからリクエストされている場合、src属性は変更されません。ブラウザをだましてリモート画像をキャッシュしないようにする必要がある場合は、手動でsrcを設定する必要があります。

-アントン

于 2009-11-13T02:23:36.763 に答える