ありのごとくあつまりてFC2ブログカスタマイズ,共有テンプレート,素材リンク集,フリーソフトの紹介など。 迷子にならないブログ作りを目指し... 何か1つでも お役に立てる情報 を提供できたらいいなぁと思っています。

モード変更

この記事に含まれるタグ (Keyword) :
画像  キャッシュ  変数  

画像等 「キャッシュで更新されない」 を回避する

2010/07/28 (水)  カテゴリー: ブログカスタマイズ上級

先日、ブログの戦闘力を測定できるサイト Web スカウター(Web Scouter)のブログパーツを導入してみました。 ブログに貼り付けた画像 には 現在の戦闘力(値) の入った画像が表示されるというものです。

追記:
スカウター、時々すごく重くなるのが気になって... 削除しました。
設置して少ししてから1000~1200程度になったのに、ある日突然400くらいに落っこちて その後 600弱程度に。。。 その後、サイドバーに置くのをやめたら 200台に落ちてしまいました。 私がよく行く大型サイトも、今確認したら 112 に。。。 信頼性がない??

戦闘力が変われば 本来画像も変わるはず... なのですが、「あれっ? 画像が変わらない?」 という状況に。 原因は キャッシュの関係 で ブラウザの設定 にもよると思いますが、単純な 「更新」 では全く変化がなく 「キャッシュのクリア」 が必要でした。 この右上のバナーはデフォルトのスタイルなので、キャッシュの影響を受ける状態 (再訪問の場合、リアルタイムと異なることがある画像) です。

ちなみに、この問題は 「FC2ブログのファイルサーバーにアップロードした画像が上書きできない」 場合の解決方法 [ 関連記事 : FC2 「画像が上書きできない」 を解決する ] とは 別件 で、外部から直接読み込んでいるファイル のキャッシュ に関してです。


キャッシュは 本来は良心的な機能 ですが、できれば正しく更新させたい! この解決方法は 以下のサイトで見つけました。 ちなみに 画像ファイル だけでなく スクリプトファイル(jsファイル) などにも応用できる方法 のようです。

JavaScriptメモ:javascript(.jsファイル)をキャッシュさせない - KUMA TYPE より

具体的な方法は、ファイル名の後に?をつけてパラメータを渡す事です。(中略) cssファイルやjavascriptファイルや画像ファイルなど何にでも応用が利くわけです。

  1. <img src="http://・・・/○○.gif?20100727" />
  2. <img src="http://・・・/○○.gif?27" />

例えば、毎日変わるようなもの を入れてあげればOKなので、FC2ブログの場合 「変数」 を使えば パラメータ部分が自動で書き換えられるファイルのパス が 利用可能です。

特定の画像をキャッシュから表示されないように 画像のパスに 変動するパラメータの値を 自動で付与させる方法 (FC2ブログ編)

<%now_day> のような変数があれば良いのですが、残念ながら存在しない(※)ので、?繰り返しの変数(裏技追加) で ↑ 2. のスタイル を実現してみました。

A. 記事の投稿頻度 > コメントの投稿頻度 の人向け

<img src="http://・・・/○○.gif?<!--recent--><%recent_day><!--not_edit_area--><!--/recent--><!--recent--><!--/not_edit_area--><!--/recent-->" />

生成されるソース → <img src="http://・・・/○○.gif?27" />
最新の記事投稿日 がパラメーターに挿入されます。
B. コメントの投稿頻度 > 記事の投稿頻度 の人向け

<img src="http://・・・/○○.gif?<!--rcomment--><%rcomment_day><!--not_edit_area--><!--/rcomment--><!--rcomment--><!--/not_edit_area--><!--/rcomment-->" />

生成されるソース → <img src="http://・・・/○○.gif?27" />
最新のコメント投稿日 がパラメーターに挿入されます。
  • 変数 が有効なのは プラグイン内 及び テンプレートに直接記入した場合 です。 記事の中では(変数は)利用できませんのでご注意ください。

  • 繰り返しの変数 を使っていますが、最新の1つのみ出力されます。
    [ 関連記事 : 変数の裏技を使って 新着表示 を好きな場所に ]
    [ 参照 : リスト型変数の内容を最初の1つだけ出力する - 畳紙 ]

  • <%recent_day> や <%rcomment_day> だけでは不安なときは <%recent_month> または <%rcomment_month> を加えると もう少し確実になると思いますが... 今回は 「自分が古いキャッシュの画像で見たくない」 だけなので入れていません。

  • <!--not_edit_area--><!--/recent--><!--recent--><!--/not_edit_area--> (裏技部分) は 省略も可能です。 省略した場合には 管理画面で設定している 「最新記事一覧 の表示件数」 や 「最新コメント表示 の表示件数」 で設定している件数分 日にちが繰り返して反映されます。 ちょっと長くなりますが、これでも良いと思います。
    <img src="http://・・・/○○.gif?0207081118230112151627" />

私の場合、記事は 週1ペース以下の投稿なので... B. のコメントが投稿されたら の設定にしてみました。 (↓追記: C. に変更) 毎日ではないですが、定期的に 「更新」(実際には画像のパスが変更) されるので スカウターの値を確認しやすくなりそうです。


追記: ↓ 毎日変動する変数 ありましたね。。。 裏技も不要で 完全に同じになることは少ないと思うので、これも便利かも? (毎日 9時頃? に更新されます)

C. アクセスランキングの順位 を利用する場合

<img src="http://・・・/○○.gif?<%ranking_genre><%ranking_subgenre>" />

生成されるソース → <img src="http://・・・/○○.gif?29410" />
ジャンルの順位+サブジャンルの順位 がパラメーターに挿入されます。

但し、A. B. の場合と異なり、数日前の(アクセスランキングの順位)パラメータ と一致した場合、過去にキャッシュされた画像 に戻る可能性もあります。

[ 関連記事 : FC2 「画像が上書きできない」 を解決する ]
[ 参考 : テンプレート用 変数一覧|FC2ブログ公式マニュアル ]

キーワード検索 : 画像  キャッシュ  変数  

はてなブックマーク  Google Bookmarks Google Bookmarks Yahoo!ブックマーク Facebook Twitter FC2ブログランキング

URL http://arinogotokuatumarite.blog19.fc2.com/blog-entry-149.html

2010/07/28 ~ | Comment (0) | TB (0) tweet? | ↑ ページ先頭へ ↑ |
 @arinogotoku
  • paruparu (arinogotoku) on Twitter
    ツイッターが上手く表示されない時は Twilog などから見てね!

Comment

コメントを投稿する 記事: 画像等 「キャッシュで更新されない」 を回避する


お気軽にコメントをどうぞ。
ソースコード等の < と > は (実態参照に変換されるので) そのまま使ってOKです。 & は 全角 に変えて使ってください。

  任意 : 後から修正や削除ができます。
  非公開コメントとして投稿する。(管理人にのみ公開)
 

Trackback