世界のはてスタ
3の倍数と3がつく数字のときだけアホになるはてスタ。
GreasemonkeyはいいけどOpera9.26だと文字が化けるんだよね…。
// ==UserScript== // @name nabeatsu // @description 3の倍数と3がつく数字のときだけアホになるはてスタ。 // @include http://*.hatena.ne.jp/* // ==/UserScript== (function () { // http://blog.livedoor.jp/nipotan/archives/15424695.html function getElementsByClass(searchClass) { var classElements = new Array(); var allElements = document.getElementsByTagName("*"); for (var i = 0, j = 0; i < allElements.length; i++) { if (allElements[i].className == searchClass) { classElements[j] = allElements[i]; j++; } } return classElements; } function isAho(num) { if (num % 3 == 0) return true; return isAho_(num); } function isAho_(num) { if (num % 10 == 3) return true; if (num > 10) return isAho_(Math.floor(num / 10)); return false; } function beingAho(elem) { if (elem.className == 'hatena-star-star aho') return; elem.className += ' aho'; elem.src = 'http://atsumu-watanabe.laff.jp/profile.jpg'; elem.style.width = '30px'; elem.style.height = '40px'; } function callNum(elem, label) { if (elem.childNodes.length > 1) return; elem.appendChild(document.createTextNode(label)); } function startNabeatsu() { var hsContainers = getElementsByClass('hatena-star-star-container'); if (hsContainers.length == 0) { if (retry++ > 10) clearInterval(tid); return; } //これコメントアウトしないと、たたまれてるはてスタを展開したときアホにならない。 //clearInterval(tid); for (var i = 0; i < hsContainers.length; i++) { var elem = hsContainers[i].firstChild; var counter = 1; while (elem) { if (elem.tagName.toLowerCase() != 'a') { elem = elem.nextSibling; continue; } if (isAho(counter)) { beingAho(elem.firstChild); callNum(elem, '{' + counter + 'ぁ〜! '); } else { callNum(elem, '{' + counter + '! '); } counter++; elem = elem.nextSibling; } } } var retry = 0; var tid = setInterval(startNabeatsu, 3000); }) ();
くっだらねぇ。