非公開 擬似カラーいるか

    @@ -2,7 +2,7 @@ * @title 擬似カラーいるか * @description http://q.hatena.ne.jp/1286370456 色はスターに準じています。 * @include http://q.hatena.ne.jp - * @license MIT License + * @license MIT License */ (function () { @@ -21,72 +21,77 @@ var path = location.pathname; -var listCI = function () { +var ansCI = function () { - var imgs = document.getElementsByTagName("img"); - var n = 0; + if (isJinriki()) jinrikiCI(); + if ($("neighbor-question")) neighborCI(); - for (var i = 0; i < imgs.length; i++) if (imgs[i].src.match(/\/iruka\.gif/)) { +}; - n = imgs[i].parentNode.href; +var jinrikiCI = function () { - if (n) { + var imgBy = Ten.Selector.getElementsBySelector("img.by", $("main")); + var irukaBy = null; - n = lastDigit(n.split("#")[0]); - imgs[i].src = irukaImgBase + irukaImg[0][n]; + for (var i = 0; i < imgBy.length; i++) if (imgBy[i].src.match(/\/iruka\.gif/)) { - } + irukaBy = imgBy[i]; + break; } - // http://q.hatena.ne.jp/1286370456/273234/#i273238 - var myirukacell = Ten.Selector.getElementsBySelector("td.myirukacell"); + if (irukaBy) { - if (myirukacell && myirukacell[0]) { +// var n = Ten.Selector.getElementsBySelector("a.answer-number", $("read_answer_list")).length % 10; + var n = lastDigit(path); + irukaBy.src = irukaImgBase + irukaImg[0][n]; + Ten.Selector.getElementsBySelector("div.answer-header", $("read_answer_list"))[0].style.backgroundImage = "url(" + irukaImgBase + irukaImg[1][n] + ")"; - var myIruka = myirukacell[0].getElementsByTagName("img"); + } - for (var i = 0; i < myIruka.length; i++) { +}; - myIruka[i].parentNode.style.cssText = "display:block;float:left;width:24px;height:24px;text-align:center;vertical-align:bottom;"; - myIruka[i].style.cssText = (i % 10 == 0) ? "-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);margin-left:4px;" : "margin-top:8px;"; +var neighborCI = function () { - } + var hasIruka = Ten.Selector.getElementsBySelector("li.has-iruka", $("neighbor-question")); - } + for (var i = 0; i < hasIruka.length; i++) + hasIruka[i].style.backgroundImage = "url(" + irukaImgBase + irukaImg[0][lastDigit(hasIruka[i].getElementsByTagName("a")[0].href)] + ")"; }; -var ansCI = function () { +var listCI = function () { - var imgBy = Ten.Selector.getElementsBySelector("img.by", $("main")); - var irukaBy = null; + var imgs = document.getElementsByTagName("img"); + var url; - for (var i = 0; i < imgBy.length; i++) if (imgBy[i].src.match(/\/iruka\.gif/)) { + for (var i = 0; i < imgs.length; i++) if (imgs[i].src.match(/\/iruka\.gif/)) { - irukaBy = imgBy[i]; - break; + url = imgs[i].parentNode.href; + if (url) imgs[i].src = irukaImgBase + irukaImg[0][lastDigit(url.split("#")[0])]; } - if (irukaBy) { + // http://q.hatena.ne.jp/1286370456/273234/#i273238 + if ($("usertable")) standIruka(); -// var n = Ten.Selector.getElementsBySelector("a.answer-number", $("read_answer_list")).length % 10; - var n = lastDigit(path); - irukaBy.src = irukaImgBase + irukaImg[0][n]; - Ten.Selector.getElementsBySelector("div.answer-header", $("read_answer_list"))[0].style.backgroundImage = "url(" + irukaImgBase + irukaImg[1][n] + ")"; +}; - } +var standIruka = function () { - if ($("neighbor-question")) { + var aCSS = "display:block;float:left;width:24px;height:24px;text-align:center;vertical-align:bottom;"; + var vCSS = "-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);margin-left:4px;"; + var hCSS = "margin-top:8px;"; + var myirukacell = Ten.Selector.getElementsBySelector("td.myirukacell"); - var hasIruka = Ten.Selector.getElementsBySelector("li.has-iruka", $("neighbor-question")); - var n = 0; + if (myirukacell && myirukacell[0]) { - for (var i = 0; i < hasIruka.length; i++) { + var myIruka = myirukacell[0].getElementsByTagName("img"); + + for (var i = 0; i < myIruka.length; i++) { - n = lastDigit(hasIruka[i].getElementsByTagName("a")[0].href); - hasIruka[i].style.backgroundImage = "url(" + irukaImgBase + irukaImg[0][n] + ")"; + myIruka[i].parentNode.style.cssText = aCSS; + myIruka[i].style.cssText = (i % 10 == 0) ? vCSS : hCSS; } @@ -94,6 +99,15 @@ }; +var otherCI = function () { + + var imgs = document.getElementsByTagName("img"); + + for (var i = 0; i < imgs.length; i++) if (imgs[i].src.match(/\/iruka\.gif/)) + imgs[i].src = irukaImgBase + irukaImg[0][Math.floor(Math.random() * irukaImg[0].length)]; + +}; + var isJinriki = function () { var qType = Ten.Selector.getElementsBySelector("img.by", $("main-inner")); @@ -109,18 +123,10 @@ }; // 質問 -if (path.match(/^\/[0-9]+$/) && isJinriki()) { - - ansCI(); - +if (path.match(/^\/[0-9]+$/)) ansCI(); // 質問リスト, プロフィール -} else if (path.match(/^\/(list|[^\/]+\/([a-z]+list|$))/)) { - - listCI(); - + else if (path.match(/^\/(list|[^\/]+\/([a-z]+list|$))/)) listCI(); // まだ見ぬいるかの生息地 -} else { - -} + else otherCI(); })();
  • /*
     * @title 擬似カラーいるか
     * @description http://q.hatena.ne.jp/1286370456 色はスターに準じています。
     * @include http://q.hatena.ne.jp
     * @license MIT License
     */
    
    (function () {
    
    if (location.hostname != "q.hatena.ne.jp") return;
    
    var irukaImgBase = "http://img.f.hatena.ne.jp/images/fotolife/p/pacochi/20101007/";
    var irukaImg = [
     ["20101007102324.png", "20101007102325.png", "20101007102327.png", "20101007102328.png", "20101007102326.png"],
     ["20101007102319.png", "20101007102320.png", "20101007102322.png", "20101007102323.png", "20101007102321.png"]
    ];
    
    // ちょっとノーマルを多めに、紫をレアに
    for (var i = 0; i < irukaImg.length; i++)
     irukaImg[i] = irukaImg[i].concat(irukaImg[i].slice(0, 4), irukaImg[i].slice(0, 1));
    
    var path = location.pathname;
    
    var ansCI = function () {
    
    	if (isJinriki()) jinrikiCI();
    	if ($("neighbor-question")) neighborCI();
    
    };
    
    var jinrikiCI = function () {
    
    	var imgBy = Ten.Selector.getElementsBySelector("img.by", $("main"));
    	var irukaBy = null;
    
    	for (var i = 0; i < imgBy.length; i++) if (imgBy[i].src.match(/\/iruka\.gif/)) {
    
    		irukaBy = imgBy[i];
    		break;
    
    	}
    
    	if (irukaBy) {
    
    //		var n = Ten.Selector.getElementsBySelector("a.answer-number", $("read_answer_list")).length % 10;
    		var n = lastDigit(path);
    		irukaBy.src = irukaImgBase + irukaImg[0][n];
    		Ten.Selector.getElementsBySelector("div.answer-header", $("read_answer_list"))[0].style.backgroundImage = "url(" + irukaImgBase + irukaImg[1][n] + ")";
    
    	}
    
    };
    
    var neighborCI = function () {
    
    	var hasIruka = Ten.Selector.getElementsBySelector("li.has-iruka", $("neighbor-question"));
    
    	for (var i = 0; i < hasIruka.length; i++)
    	 hasIruka[i].style.backgroundImage = "url(" + irukaImgBase + irukaImg[0][lastDigit(hasIruka[i].getElementsByTagName("a")[0].href)] + ")";
    
    };
    
    var listCI = function () {
    
    	var imgs = document.getElementsByTagName("img");
    	var url;
    
    	for (var i = 0; i < imgs.length; i++) if (imgs[i].src.match(/\/iruka\.gif/)) {
    
    		url = imgs[i].parentNode.href;
    		if (url) imgs[i].src = irukaImgBase + irukaImg[0][lastDigit(url.split("#")[0])];
    
    	}
    
    	// http://q.hatena.ne.jp/1286370456/273234/#i273238
    	if ($("usertable")) standIruka();
    
    };
    
    var standIruka = function () {
    
    	var aCSS = "display:block;float:left;width:24px;height:24px;text-align:center;vertical-align:bottom;";
    	var vCSS = "-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);margin-left:4px;";
    	var hCSS = "margin-top:8px;";
    	var myirukacell = Ten.Selector.getElementsBySelector("td.myirukacell");
    
    	if (myirukacell && myirukacell[0]) {
    
    		var myIruka = myirukacell[0].getElementsByTagName("img");
    
    		for (var i = 0; i < myIruka.length; i++) {
    
    			myIruka[i].parentNode.style.cssText = aCSS;
    			myIruka[i].style.cssText = (i % 10 == 0) ? vCSS : hCSS;
    
    		}
    
    	}
    
    };
    
    var otherCI = function () {
    
    	var imgs = document.getElementsByTagName("img");
    
    	for (var i = 0; i < imgs.length; i++) if (imgs[i].src.match(/\/iruka\.gif/))
    	 imgs[i].src = irukaImgBase + irukaImg[0][Math.floor(Math.random() * irukaImg[0].length)];
    
    };
    
    var isJinriki = function () {
    
    	var qType = Ten.Selector.getElementsBySelector("img.by", $("main-inner"));
    	if (qType && qType[0] && qType[0].src.match(/jinriki/)) return true;
    	return false;
    
    };
    
    var lastDigit = function (str) {
    
    	return(parseInt(str.charAt(str.length - 1), 10));
    
    };
    
    // 質問
    if (path.match(/^\/[0-9]+$/)) ansCI();
    // 質問リスト, プロフィール
     else if (path.match(/^\/(list|[^\/]+\/([a-z]+list|$))/)) listCI();
    // まだ見ぬいるかの生息地
     else otherCI();
    
    })();
    
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。

History

  1. 2011/05/31 02:11:53 - 2011-05-31
  2. 2010/10/07 17:24:18 - 2010-10-07
  3. 2010/10/07 13:31:49 - 2010-10-07
  4. 2010/10/07 13:22:41 - 2010-10-07
  5. 2010/10/07 13:08:52 - 2010-10-07