Anyone can be a B!KUMA Girl
by
yuta25
2014-11-13 [2014/11/13 17:38:54]
B!KUMAize everyone's icon
-
/*
* @title Anyone can be a B!KUMA Girl
* @description B!KUMAize everyone's icon
* @include http://b.hatena.ne.jp/*
* @license MIT License
*/
(function() {
var BKUMA = 'http://f.st-hatena.com/images/fotolife/h/hatenapr/20111228/20111228162520.png';
var bkumaize = function(node) {
function changeIcon(img) {
if (img.src.match(/^http:\/\/cdn1\.www\.st\-hatena\.com\/users\/.*\.gif$/)) {
img.src = BKUMA;
}
}
node = node || document;
if (typeof (node.querySelectorAll) !== "undefined") {
if (node.nodeName === "IMG") {
changeIcon(node);
} else {
Array.prototype.forEach.call(node.querySelectorAll('img'), function(img) {
changeIcon(img);
});
}
}
};
bkumaize();
// c.f. MutationObserver
// https://developer.mozilla.org/en/docs/Web/API/MutationObserver
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
for (var i = 0; i < mutation.addedNodes.length; i++) {
bkumaize(mutation.addedNodes[i]);
}
});
});
observer.observe(document, {childList: true, subtree: true});
})();
-
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。