はてな横断を改良(!?)しました。

先日、Firefox 4 正式版がリリースされました。
これは早速インストールせねばとインストールしたはいいものの、愛用してるgreasemonkeyの一つ、id:kitsさん作成のはてな横断にてエラーが…
エラーメッセージは以下。

Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIDOMHTMLDocument.createElementNS]

エラー箇所は63行目の

var box = d.createElementNS(xulns, 'box');

の部分。createElementNSメソッドでこけてる様なんですが、エラーの原因がわからない…orz
かといって、はてな横断グリモン無しだと、はてなーのストーキングの際に色々不便なので、じゃあもう、自分で作るか!!という訳で作ってみました。いや、作ったは語弊がありますね、kitsさんのを改良*1してみました。kitsさんのをほぼ踏襲していて、多少、見映えをよくしただけって感じです。(;^ω^)

説明

効果の程はkitsさんのエントリにある通りです。

はてなの各サービスのページには、或るユーザの別のサービスでの公開ページに移動できるリンク(所謂「サービス間移動リンク」)というものがあるにはあるのですが大変使いづらいので、各サービスへ直に移動できるリンクを生成するスクリプトを試しに書いてみました。

はてな横断 - 徒書

はてな横断同様、インストールすると画面左上にボタンが追加されます。

ボタンをクリックすると、ボタンの下にメニューがビローンと展開されます。

後は移動したいリンクをクリックするだけです。

インストール

よければどうぞ。
http://userscripts.org/scripts/show/99829

thanks to

id:Cherenkovさん、ありがとうございました。

@xulappさん、ありがとうございました。
わからない事がある時、twitterって便利。オレオレgreasemonkeyのエラーも直す事が出来たし、ホント助かりました。

感想

サービスへのリンクがわかり易くなるかなと、リンクメニューの左端に対応する各種サービスアイコンを表示させる様にしたんですが、サービスアイコンファイルのありかがわからなくて色々面倒でした。あれやこれや探してたら、GitHubで公開されてたので、そちらを拝借させて頂きました。
hatena-toolbar-xul/icons.png at master · hatena/hatena-toolbar-xul · GitHub
dataスキームuriへの変換は以下のサイトで。
[JavaScript] dataスキームURI生成(画像データのBase64変換)
見た目は自分なりに小洒落た感じにしてみましたが、透明度やhover時の背景色等は好みに応じて弄ってもらえればと思います。
若干、動作が重い気がしなくもないでの、もう少し高速化出来ればなぁと。
動作確認しきれてないので、ちゃんと動かない事があるかも…その際はコメントするなりしてもらえれば、頑張って対応してみます。

*1:改悪!?(;^ω^)