初めてのグリモン
といっても入門編とかを書くのではなく、初めてグリモンのコードをいじったということです。
参考というか、土台はこちらのスクリプト。ありがたいです。
はてなスターの星をプロフィールアイコンに置き換えるGreasemonkey Scriptメンテナンス更新 - 0x集積蔵
でも、Firefox3の人は上のやつではうまく動かないので、こちらのをコピペっとすれば動く。
GreasemonkeyをBookmarklet的に実行してみる - 0x集積蔵
で、さらにハイクキーワードのGreasemonkeyでのこの投稿を参考にしました。
変更点は
- すべてのアイコンに枠をつけて、幅は1pxに
- 自分のアイコンは違う色にした
自分のアイコンの枠の色はUserの欄に表示されるアイコンに付く枠のこの色にして、それ以外の枠の色はスターをつけるボタンと同じこの色にしました。
こんなかんじになります。
コードはこんな感じです。自分が触ったのはわずか2行でございます。これを機になにか作ってみようかな。なんて。
その前に卒業研究だけどね。
// ==UserScript== // @name replace star by profile icon // @namespace http://ss-o.net/ // @include http://*.hatena.ne.jp/* // @checkurl http://ss-o.net/userjs/replaceStarByProfileIcon.user.js // @version 1.1 // ==/UserScript== location.href = 'javascript:(' + function(){ (function(unsafeWindow){ if (unsafeWindow && unsafeWindow.Hatena && unsafeWindow.Hatena.Star){ var bindStarEntry = unsafeWindow.Hatena.Star.Entry.prototype.bindStarEntry; var myid = unsafeWindow.Hatena.Visitor.name; unsafeWindow.Hatena.Star.Entry.prototype.bindStarEntry = function(se){ var self = this, stars = []; for (var i = 0,len = se.stars.length; i < len; i++) { var star = se.stars[i]; if (star.name) { var img = unsafeWindow.Hatena.User.getProfileIcon(star.name); //img.src = img.src.replace(/\/profile_s/,'/profile');img.width = img.height = 64; img.style.border = "solid 1px #BDD9D8"; img.alt = star.name; if(star.name == myid){ img.style.border = "solid 1px #E1BEBC"; } if (!star.img) star.img = img; } stars.push(star); } se.stars = stars; bindStarEntry.call(self, se); } var showName = unsafeWindow.Hatena.Star.Star.prototype.showName; unsafeWindow.Hatena.Star.Star.prototype.showName = function(e){ this.screen_name = this.name; showName.call(this,e); }; } })(this.unsafeWindow||window); }.toString() + ')()';