IT戦記

プログラミング、起業などについて書いているプログラマーのブログです😚

はてなブックマークプラスに登録していないユーザーをエントリーページから抹消する JavaScript と Greasemonkey

はじめに

http://b.hatena.ne.jp/guide/plus がリリースされましたね!
というわけで、「てなブックマークプラスに登録していない(正確には、 plus アイコンを出していない)ユーザーをエントリーページから抹消する JavaScript」を書いてみました!!
これで、はてブプラス民に囲まれて幸せですね!

やったね!

ご自由にお使いください(Firefox or Safari で動くと思います)

Ten.Selector.getElementsBySelector('ul#bookmarked_user > li').filter(function(e) { return !e.getElementsByClassName('plus_icon').length }).forEach(function(e) { e.style.display = 'none' });

ブックマークレット

javascript:void(Ten.Selector.getElementsBySelector('ul#bookmarked_user > li').filter(function(e) { return !e.getElementsByClassName('plus_icon').length }).forEach(function(e) { e.style.display = 'none' }));

グリモン

// ==UserScript==
// @namespace      http://d.hatena.ne.jp/amachang/
// @include        http://b.hatena.ne.jp/entry/*
// @include        http://b.hatena.ne.jp/entry?mode=more&url=*
// ==/UserScript==

location.href = "javascript:void(Ten.Selector.getElementsBySelector('ul#bookmarked_user > li').filter(function(e) { return !e.getElementsByClassName('plus_icon').length }).forEach(function(e) { e.style.display = 'none' }))";

デフォルトのはてなスター強制置換えグリモンを書きました。

トラックバックに気が付いた!

ということで、 id:amachang さんあたりがグリモンを作ってくれるハズ。他力本願でごめんなさい!

色覚異常によるカラースターの色の見え方 - no.10

という訳で書いてみた
こんなのが

こんな感じになります

ソースコード

// ==UserScript==
// @name           Replace star
// @namespace      http://d.hatena.ne.jp/amachang/
// @include        http://*
// ==/UserScript==
(function() {
    translate(document.body);
    document.addEventListener('DOMNodeInserted', function(e) { translate(e.target); }, false); 
    document.addEventListener('DOMAttrModified', function(e) { translate(e.target); }, false); 

    function translate(context) {
        var r = document.evaluate('descendant-or-self::img[' +
                 '@src = "http://s.hatena.ne.jp/images/star.gif" or ' +
                 '@src = "http://s.hatena.ne.jp/images/star-green.gif" or ' +
                 '@src = "http://s.hatena.ne.jp/images/star-red.gif" or ' +
                 '@src = "http://s.hatena.ne.jp/images/star-blue.gif"' +
                 ']', context, null, 7, null)

        for (var i = 0; i < r.snapshotLength; i ++) {
            var node = r.snapshotItem(i);

            // ここを書き換えると自分で画像を指定できます。
            switch (node.src) {
                case "http://s.hatena.ne.jp/images/star.gif":
                    node.src = "http://www.hatena.ne.jp/users/na/naoya/profile_s.gif";      // ここに黄スターの代替画像の URL
                    break;
                case "http://s.hatena.ne.jp/images/star-green.gif":
                    node.src = "http://www.hatena.ne.jp/users/se/secondlife/profile_s.gif"; // ここに緑スターの代替画像の URL
                    break;
                case "http://s.hatena.ne.jp/images/star-red.gif":
                    node.src = "http://www.hatena.ne.jp/users/da/dankogai/profile_s.gif";   // ここに赤スターの代替画像の URL
                    break;
                case "http://s.hatena.ne.jp/images/star-blue.gif":
                    node.src = "http://www.hatena.ne.jp/users/jk/jkondo/profile_s.gif";     // ここに青スターの代替画像の URL
                    break;
            }
        }
    }
})();

完成!
ちゃんと追加されたスターも置換します。

こんなのが


こんな感じになります!


39 のおくりもの

ありがとう(thank you)の気持ちに 39 はてなポイントを送ろう!

はてなから、ポイント受け取りのお知らせです。

amachangさん

Mikanoさんからポイント送信がありました。

ポイント送信明細
========
ポイント送信者: Mikano
ポイント受取者: amachang
送信ポイント : 39ポイント

これはいいメソッドですね!!感動しました。
勝手に公開してごめんなさい。
ものたりない人は、 4649 のおくりものメソッドを試してみてください!

カラ☆スタ

カラ☆スタいいなー。カラ☆スタがしっくりきすぎて、カラ☆スタ登場以前のはてブのエントリーページとか見るとなんだか寒々しく感じちゃうくらい☆
そんなアバター世代代表の amachang です。