• 1210月

    先日からサイドメニューにiTunesで再生している曲を表示させるように
    してありますが、ブラウザによっては画像だけ、古いジャケットが
    表示されることがあるようで。

    画像の名前が変化しないので、ファイルが入れ替わったことを認識
    しないのでしょうね。
    Webサーバの設定でキャッシュしないようにすることも可能ですが、
    あまり複雑なことはしたくないので、PHPでなんとかならないか
    調べてみました。

    すると、まさにずばりな記事を発見。
    http://webtech-walker.com/archive/2007/03/07112848.html

    ファイル名の後ろにクエリー文字列を付けるやり方ですね。
    いぬリンクなどでも使われている方法です。

    ただ、記事の通りだと、閲覧するたびに取得しに行って、まったく
    キャッシュされません。
    ですので、少し修正して、クエリー文字列にファイルの最終更新日時を
    セットするようにしてみました。

    具体的にはfilemtime()という関数を使いました。
    これで画像ファイルが変更されない限り、同じになりますから、
    再生曲が長く変更されない場合はキャッシュが有効になるはずです。

    それにしてもAppleScriptからの更新は、なかなか快適です。
    ちかいうちにVBScriptも作ろうかな。

    (当サイトでは、Amazonアソシエイトをはじめとした第三者配信のアフィリエイトプログラムにより商品をご紹介致しております。)

    Filed under: Blog
    2009/10/12 9:01 pm | 2 Comments

2 Responses

WP_Lime_Slice
  • padmacolors Says:

    おー!これは目からウロコ!私のサイトでも使わせていただきますー。

  • MacBS Says:

    padmacolorsさん、コメントありがとうございます。

    ブラウザくんが賢く(?)てキャッシュされちゃったり、されなかったりでしたものね。
    imgタグでも書けるとは、私も予想外でした。

    近いうちにVBScriptも作りますね。