404 Blog Not Found:Best 10 Entries of 2008.01のはてブを表示するscript
404 Blog Not Found:Best 10 Entries of 2008.01のはてブを表示するscript
(function() { if (! Array.prototype.map ) Array.prototype.map = function(f) { var a = []; for (var i = 0; i < this.length; i++) { a[i] = f(this[i]); } return a; }; var getElementsByFunction = function(root, func) { var result = []; (function(node){ var kids = node.childNodes; for (var i = 0, l = kids.length; i < l; i++) { if (func(kids[i])) result[result.length] = kids[i]; if (kids[i].hasChildNodes()) arguments.callee(kids[i]); } })(root); return result; }; var atags = []; getElementsByFunction(document.getElementsByTagName('body')[0], function(e) { return e.nodeType == 1 && e.className == 'addhateb'; }).map(function(p) { getElementsByFunction(p, function(e) { return e.nodeType == 1 && e.nodeName.toLowerCase() == 'a'; }).map(function(e){ atags[atags.length] = e }); }); atags.map(function(e) { var img = document.createElement('img'); img.alt = img.src = 'http://b.hatena.ne.jp/entry/image/' + e.href; img.style.marginLeft = '0.25em'; img.style.border = '0'; var a = document.createElement('a'); a.href = 'http://b.hatena.ne.jp/entry/' + e.href; a.appendChild(img); var n = e.nextSibling; if (n) e.parentNode.insertBefore(a, n); else e.parentNode.appendChild(a); }); })();
だめだ。まだちゃんとよくわかんない。あとでもう一回調べよう。とりあえず写経のみ。