2016年11月19日土曜日

フィードガジェットが更新されないYO! ~Blogger テンプレートを作るよ! (30)~

こんにちはー!

前々回辺りから使用している Blogger のフィードガジェットですが、問題が出てきました。

どういうわけか、最新記事の情報を更新してくれないのです。『制作日誌』ラベルの最新記事を取得するためのフィードガジェットなので、投稿にラベル『制作日誌』 を付け忘れたのかとも思いましたが、どうやらそうでもないようです。

むむむ……。

起きている現象

使用しているフィードURLをブラウザのアドレスに張り付けてみると、取得された XML にはきちんと最新記事が含まれています。しかし、ブログのフィードガジェットの内容は古いまま、新しい記事の情報が載らないのです。

実際に、ブラウザが受け取るデータを確認してみると、以下のようになっていました。

残念ながら、前々回の記事が最新になるように書かれています。

なんででしょうね。javascript を生成する側のサーバーで、古いフィードのキャッシュが残ってるとか、そういうことなのかもしれません。

できれば早くフィードガジェットの開発者様に直していただきたいところですが、直してくれるまで放置、というわけにもいきません。とにかく今はどうにかして新しいフィード情報を取得できるようにしなくてはいけません。

キャッシュの問題ならもしかして……

さて、私なりの知識から思いつく方法としては、URLを変えることです。URLが変わればキャッシュされたデータは使われることはないので、最新の情報を取得してくることができます。

しかし、アドレス部分が変わってしまったら欲しい情報を入手することはできません。ということで、とりあえずの対策としてハッシュという物を使ってみます。

ハッシュとは

URL の末尾に #~~~ とシャープ記号の後に謎の記号列が続いたものを見たことがある人もいるかもしれません。この # とその先の記号列は、ハッシュとか、フラグメントとかページ内アンカーとか呼ばれたりします。

このハッシュは「ページ内のその文字列がある場所を表示する」という目的で使われるものですが、存在しない文字列の場合は何も起こりません。

そこで、「あえて無意味な文字列を入れることで、別のURLと認識させる」なんて使い方もできるわけです。どちらかというとハッシュではなくパラメータを使う方法が一般的ですが、一時的に使う分には問題ないでしょう。

使ってみる

とりあえず、ガジェットの URL の後ろに # と適当な数字を入れてみます。

これで次へボタンを押してみると……

最新の記事がちゃんと更新されました!

しかもハッシュを元に戻すと元に戻ってしまいます。

毎回記事を更新するたびにフィード URL を書き換える作業は面倒くさいですが、今回のような状況に陥ったら試してみるといいかもしれません。

1 件のコメント :

  1. こんにちは!
    フィードが更新されず悩んでました。Bloggerの不具合記事とか少ないのでトラブルの記事があると助かります。ローカル環境のせいではないと切り分けられます。
    これからもBloggerネタを時々書いてください。

    返信削除