あっきぃ日誌

鉄道ブログのような技術系ブログのようななにか

OpenIDからのはてなスターをマウスオーバーした時の対応をどうにかするGreaseMonkey

つくりました。

10/1追記

idea:27839が実装され、はてなのデフォルトアイコンが表示されるようになりました。
が、スターのリンク先については考慮されていないようでした。そこも普通きにするだろう…(; `ω´)
と言う訳で、以下のGreaseMonkeyは「はてなのデフォルトアイコンじゃイヤ」という方のみご覧ください(えええ。

現状

OpenIDからのはてなスターをマウスオーバーした時、こうなります。
ユーザー名が2回表示されているのは、前者はアイコン画像の読み込みに失敗して代替テキストが表示されたもの、後者はただのテキストです。

読み込もうとしていたアイコン画像のURLは次のようになっており、現在のはてなスターの仕組みではOpenIDからのスターがついたときのアイコン読み込みについて考慮がなされていないことがわかります。

http://www.st-hatena.com/users/ho/hoge/@servicename/profile_s.gif

この問題について、はてなアイデアにも要望が出ています(idea:27839)。昨日上場させたので、翌営業日以降の対応に注目したいところです。
また、はてなハイクを中心にbaka何とかという不快なIDをわざわざ取得してスターを付け回るDQNも沸いており、代替テキストによって不快な文字列を多めに見る羽目に遭います。
# いや、そもそも設計ミスで404エラーログが記録され続けてるんだから早くどうにかしないとダメな気がするんだけどどうなのかな……。

グリースモンキーを入れるとこうなる

@がつくユーザーをOpenIDユーザーとみなして、アイコンをOpenIDロゴにすり替えます。

また、DQN対策を行いたい方向けに、OpenIDユーザーの名前を隠すオプションもつけておきました。

インストール

こちらにおいています。
http://shrimp.marokun.net/hatena/replaceopenidusersstarbyopenidlogo.user.js
OpenIDユーザーの名前を隠すには、スクリプトを開いて次のパラメータを0から1に書き換えます。コメントの英語が正しいかどうかはみなかったことにしよう(ぼうよみ)。

	// Option: To hidden OpenID user name, change this parameter 0 to 1.
	var flag_hiddenOpenIdUserName = 0;

謝辞

このGreaseMonkeyスクリプトはid:os0xさんのreplaceStarByProfileIcon.user.js ( http://gist.github.com/2424 )をベースにしました。ありがとうございます。