はてなスターのリンクをダイアリーに換えるgreasemonkeyの正当なやり方
はてなスターのリンクをダイアリーに換えるgreasemonkeyの自己添削エントリー。
目的
はてなスターについているリンクのアドレスをttp://s.hatena.ne.jp/userID/ → ttp://d.hatena.ne.jp/userID/のようにダイアリーへ書き換えるスクリプトをつくる。今回はそれの正当なやりかたを考える。
関数の二次利用はこうやるのかー
はてなスターの星をプロフィールアイコンに置き換えるGreasemonkey Scriptメンテナンス更新 - 0x集積蔵
ここを参考にHatenaStar.jsとにらめっこ。
HatenaStar.jsからどうやって情報をかすめとるか大変参考になりました。id:os0xさんありがとうございます。
できたコードがこれ。
ソースコード
// ==UserScript== // @name hatena_star_link_diary2 // @namespace http://d.hatena.ne.jp/Cherenkov // @include http://*.hatena.ne.jp/* // ==/UserScript== if (unsafeWindow.Hatena && unsafeWindow.Hatena.Star){ unsafeWindow.Hatena.Star.User.prototype.userPage = function(){ return 'http://d.hatena.ne.jp/' + this.name + '/'; } }
簡易的にブックマークレット
*この方法はブックマークレットで手軽に再現してほしかっただけです。greasemonkey版はクリックすることなくリンクが書き換わります。
ブックマークレットで再現するには、まず上の画像のようにスターがたくさんついてるエントリーを見つけてください。つぎに下のコードをアドレスバーにコピペしてエンター押して実行したら、上の画像の数字の部分をクリックしてください。出てきたスターのリンクはダイアリーになっているはずです。
javascript:(function(){Hatena.Star.User.prototype.userPage=function(){return'http://d.hatena.ne.jp/'+this.name+'/';}})();
感想
- やり方としては、たぶん正当なものができた。
- amazonのASINのように簡単に取得できるとおもってた。