最近、はてなユーザーも多様化してきて
似た名前のユーザーって多いですよね><!
たとえば、以下のように名前を間違えるというようなこともままあります。
はてなブックマーク - なんかブコメで叩かれまくってる - Automatons Hacking Guide
- id:otsune id:kajuntkさん。そのidは私じゃありません。 2009/01/12
- id:kajuntk id:otsune その辺は考慮して書いてると思うよ/ホントだ!今気がついた。 2009/01/12
- id:otsnue amachangはアイドルであり身内だからな。身内が叩かれるとプッツンしてさらに過激にdis返しをするのが奴らの恒例行事。トコロテンさんが気の毒です。 2009/01/12
これは困ってしまいました><
なんと、かの id:TAKESAKO 氏ですら見間違えてしまうほどです!
というわけで
間違えないように Greasemonkey を書きました!ライフハックです!
この Greasemonkey を使うと、以下のようになります!(流行に乗って、あえて Google Chrome で動かしてみました、てへてへ)
これで、もう間違えることはありませんね!
ソースコードは以下になります。
ご自由にお使いください
// ==UserScript== // @name Oh! Tsune! // @namespace http://d.hatena.ne.jp/amachang/ // @include http://* // ==/UserScript== (function() { translateChildren(document.body); document.addEventListener('DOMNodeInserted', listener, false); document.addEventListener('DOMCharacterDataModified', listener, false); document.addEventListener('DOMAttrModified', function(e) { var node = e.target; if (node.tagName.match(/^(input|option)$/i)) translate(node); }, false); function listener(e) { translate(e.target); } function translate(node) { switch (node.nodeType) { case 1: if (node.tagName.match(/^(input|option)$/i)) translateProperty(node, 'value'); else translateChildren(node); break; case 3: translateProperty(node, 'nodeValue'); break; } } function translateChildren(node) { var xpath = './/text()[contains(., "otsune") or contains(., "otsnue")] | .//input | .//option'; var r = document.evaluate(xpath, document.body, null, 7, null) for (var i = 0; i < r.snapshotLength; i ++) translate(r.snapshotItem(i)); } function translateProperty(node, prop) { var value = node[prop]; if (!value) return; if (value.indexOf('otsune') != -1) node[prop] = value.replace(/\botsune\b/, 'おちゅね'); if (value.indexOf('otsnue') != -1) node[prop] = value.replace(/\botsnue\b/, 'おちゅぬえ'); } })();
割と高速に動くので、邪魔になりませんよ!
ちなみに、全置換のコードは
ネットを日本語化する:Japanize の Japanize.user.js を参考にしました