Bloggerのブログアドレスが地域によって色々なドメインにリダイレクトされるようになってから少し経ちました。
各種ブログパーツもBloggerの変更に対応してくれたお陰で今のところ問題なさそうだと思っていました。
しかし、最近になって「はてなブックマークのウィジェットがなんかおかしい」という点に気が付きました。
なにがおかしい?
このブログでは、新しい記事を書いたら自分ではてなブックマークボタンを押すようにしているのですが、ブックマークしてもウィジェットに反映されていませんでした。
ちなみにウィジェットの「Hatena.BookmarkWidget.url」には「data:blog.homepageUrl」を指定していました。
ちなみにこのブログの場合、data:blog.homepageUrl = http://rrvf.blogspot.jpです。
どこに問題があるのかが分からなかったのですが、とりあえずブックマークボタンから確認してみました。
はてなブックマークボタンのコード
このブログのはてなブックマークボタンのテンプレートコードは以下のようになっています。
<a class='hatena-bookmark-button' expr:href='"http://b.hatena.ne.jp/entry/" + data:post.url' expr:data-hatena-bookmark-title='data:post.title' data-hatena-bookmark-layout='standard' title='このエントリーをはてなブックマークに追加'><img src='http://b.st-hatena.com/images/entry-button/button-only.gif' alt='このエントリーをはてなブックマークに追加' width='20' height='20' style='border:none;' /></a>
上記のテンプレートコードが展開されると、だいたい以下のようになります。
<a class='hatena-bookmark-button' data-hatena-bookmark-layout='standard' data-hatena-bookmark-title='実はBlogger以外のサイトでも使える?Bloggerの「リアクション」機能' href='http://b.hatena.ne.jp/entry/http://rrvf.blogspot.jp/2012/03/blogger-reaction-api.html' title='このエントリーをはてなブックマークに追加'><img alt='このエントリーをはてなブックマークに追加' height='20' src='http://b.st-hatena.com/images/entry-button/button-only.gif' style='border:none;' width='20'/></a>
コードを確認すると「http://rrvf.blogspot.jp/....」というURLになっているのでウィジェットの「Hatena.BookmarkWidget.url」は「data:blog.homepageUrl」を指定すればまず問題なさそうに見えます。
思わぬ落とし穴
原因を探っていくと、はてなブックマークボタンのURLが上記コードのようになっているにもかかわらず、マウスオーバさせリンクを確認すると「http://rrvf.blogspot.com/...」というアドレスになっていました。
ようするにはてなブックマークボタンは、BloggerのURLである「*.blogspot.jp」を指定しても、Javascriptでドメインを「*.blogspot.com」に書き換えているようです。
結論
上記のように勝手にドメインが変更されるので、はてなブックマークウィジェットを利用する場合は、「data:blog.homepageURL」を使用するのではなく、直接「http://*.blogspot.com」(このブログの場合は、http://rrvf.blogspot.com)を指定するのが正解のようです。
とりあえず対策ができたので一安心です。