faviconize ver. 0.40
favicon の表示方法をちょっと変えてみた。というより変えざるを得なかったんだけど結果的にうまくいった。ところどころ表示されないのはそのサイトの管理者半分、おれ半分の責任なんだけど実際のところなんで表示されないのかわからないので時間かかりそう。あと Yahoo 検索に対応した。
http://www012.upp.so-net.ne.jp/legio/distribute/faviconize.user.js
- http://userscripts.org/scripts/show/34035
- http://coderepos.org/share/browser/lang/javascript/userscripts/faviconize.user.js?
- 過去記事
使い方
インストールすると対応したページで favicon が表示されるようになります。現在以下のページに対応してます。
- google 検索
- Yahoo 検索
- del.icio.us
- はてなブックマーク
技術的なハナシ
SITEINFO を考え直してみた。けっこう柔軟にしたつもりなんだけどどうかな ?
- name
- 名前。人間が読みやすいように設けているだけでこれを使って何かしてるわけではない。
- applyURL
- 適用する URL 。単に url って書くと後述の urlNode と間違えそうなのでこういう名前に。
- urlNode
- insertPosition
- after
- 真偽値。 insertPosition で指定したノードの後ろに挿入するかどうか。デフォルト false で前に挿入する。
以下は実際の例。
{ name: 'google search', applyURL: '^http://www\.google\.co\.jp/search', urlNode: './/ol/li/h3/a[@href]/@href', insertPosition: './/ol/li/h3/a[@href]', after: false, }, { name: 'Yahoo!検索', applyURL: '^http://search\.yahoo\.co\.jp/', urlNode: './/div[contains(concat(" ",@class," "), " sinf ")]/em', insertPosition: './/h3/a[@href][contains(concat(" ",@class," "), " yschttl ")]', after: false, },
Yahoo みたいな変態的なサイトの場合でもこれでちゃんと記述できるのでけっこう表現力はあるんじゃないかと思う。ということでそろそろ wedata に間借りする方向。