楽天画像切り替わらない時の魔法のコード

楽天で画像を差し替えても画面ではいつまでも古い画像が表示される問題を解消するコード

さくっと上書きしただけでは、すぐに画像は変わらない模様

楽天でR-Cabinet、GOLD上で画像を変更したいが画像のパスは変えたくない。
僕はファイル名+日付で管理するようにしているため、
多少面倒でも上書きは避けているのですが、
ページをまたいでHTMLを作り込んでいけばいく程、
上書きせざるをえない機会が出てきます。

画像、差し替えたはずなのに切り替わらないじゃん・・・

とはいえ、上書したにもかかわらずフロントで何も変化がない。
いや、普通にGOLDでも上書きできてるんですけど。。。
あ、キャッシュか!って事でクリアしてみるものの変わらない。
何回ブラウザ読み込み直しても変化なし。
どうなってるんだ?って最初は本当に訳が分からなかったんですが、
いつの頃か「これって仕様なんじゃ?」と疑いはじめ。
調べたところやっぱり仕様でした。

じゃあ、どうするか

時差があるという事で、放置すればいい。
しかし、クライアントから画像差し替えの依頼があった時はそうも言ってられません。
速攻で画面上で「終わりました!」とメール送信したい。
こういう時は画像のパスにちょっと細工しましょう。

imgタグの画像パスをこんな感じで

◯◯◯.jpg → ◯◯◯.jpg?rakuten=1

rakuten=1この部分は別にa=0でも、r=1000でも何でも良いです。
とりあえずこれでOK。

ちょっと注意点とか

注意として
◯◯◯.jpg → ◯◯◯.jpg?rakuten=1
画像パスをこれに変えたとして、更にもう一度上書きする時は、
◯◯◯.jpg?rakuten=1 → ◯◯◯.jpg?rakuten=2
などして数字を変化させてください。

[追記]2015.08.14
※=1などイコールをつけなくても、?r など何かしらの英数字を入力すれば問題ないです。

どのみち毎回こういう作業するのはコードも増えるし、
自分以外が見た時に「なんじゃこのなぞの変数は」となってパニックになりかねないので、おすすめしません。
できるだけ放置して自然に画像が変わるのを待つのがベストでしょうね。

Leave a Reply

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

こんにちは