この記事に含まれるタグ (Keyword) :
画像 キャッシュ 変数
先日、ブログの戦闘力を測定できるサイト Web スカウター(Web Scouter)のブログパーツを導入してみました。 ブログに貼り付けた画像 には 現在の戦闘力(値) の入った画像が表示されるというものです。
追記:
スカウター、時々すごく重くなるのが気になって... 削除しました。
設置して少ししてから1000~1200程度になったのに、ある日突然400くらいに落っこちて その後 600弱程度に。。。 その後、サイドバーに置くのをやめたら 200台に落ちてしまいました。 私がよく行く大型サイトも、今確認したら 112 に。。。 信頼性がない??
戦闘力が変われば 本来画像も変わるはず... なのですが、「あれっ? 画像が変わらない?」 という状況に。 原因は キャッシュの関係 で ブラウザの設定 にもよると思いますが、単純な 「更新」 では全く変化がなく 「キャッシュのクリア」 が必要でした。 この右上のバナーはデフォルトのスタイルなので、キャッシュの影響を受ける状態 (再訪問の場合、リアルタイムと異なることがある画像) です。
ちなみに、この問題は 「FC2ブログのファイルサーバーにアップロードした画像が上書きできない」 場合の解決方法 [ 関連記事 : FC2 「画像が上書きできない」 を解決する ] とは 別件 で、外部から直接読み込んでいるファイル のキャッシュ に関してです。
キャッシュは 本来は良心的な機能 ですが、できれば正しく更新させたい! この解決方法は 以下のサイトで見つけました。 ちなみに 画像ファイル だけでなく スクリプトファイル(jsファイル) などにも応用できる方法 のようです。
JavaScriptメモ:javascript(.jsファイル)をキャッシュさせない - KUMA TYPE より具体的な方法は、ファイル名の後に?をつけてパラメータを渡す事です。(中略) cssファイルやjavascriptファイルや画像ファイルなど何にでも応用が利くわけです。
- <img src="http://・・・/○○.gif?20100727" />
- <img src="http://・・・/○○.gif?27" />
例えば、毎日変わるようなもの を入れてあげればOKなので、FC2ブログの場合 「変数」 を使えば パラメータ部分が自動で書き換えられるファイルのパス が 利用可能です。
特定の画像をキャッシュから表示されないように 画像のパスに 変動するパラメータの値を 自動で付与させる方法 (FC2ブログ編)
<%now_day> のような変数があれば良いのですが、残念ながら存在しない(※)ので、? + 繰り返しの変数(裏技追加) で ↑ 2. のスタイル を実現してみました。
<img src="http://・・・/○○.gif?<!--recent--><%recent_day><!--not_edit_area--><!--/recent--><!--recent--><!--/not_edit_area--><!--/recent-->" />
生成されるソース → <img src="http://・・・/○○.gif?27" />
最新の記事投稿日 がパラメーターに挿入されます。
<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時頃? に更新されます)
<img src="http://・・・/○○.gif?<%ranking_genre><%ranking_subgenre>" />
生成されるソース → <img src="http://・・・/○○.gif?29410" />
ジャンルの順位+サブジャンルの順位 がパラメーターに挿入されます。
但し、A. B. の場合と異なり、数日前の(アクセスランキングの順位)パラメータ と一致した場合、過去にキャッシュされた画像 に戻る可能性もあります。
[ 参考 : テンプレート用 変数一覧|FC2ブログ公式マニュアル ]
URL http://arinogotokuatumarite.blog19.fc2.com/blog-entry-149.html
2010/07/28 ~ | Comment (0) | TB (0) tweet? | ↑ ページ先頭へ ↑ |コメントを投稿する 記事: 画像等 「キャッシュで更新されない」 を回避する
お気軽にコメントをどうぞ。
ソースコード等の < と > は (実態参照に変換されるので) そのまま使ってOKです。 & は 全角 に変えて使ってください。
Comment