ユニークスター数

    @@ -7,7 +7,7 @@ (function () { -if (!Hatena || !Hatena.Star) return; +if (typeof(Hatena) == "undefined" || !Hatena.Star) return; var i, e = Hatena.Star.EntryLoader.entries;
  • /*
     * @title ユニークスター数
     * @description 一人一星でスターをカウントします。
     * @include http://*
     * @license MIT License
     */
    
    (function () {
    
    if (typeof(Hatena) == "undefined" || !Hatena.Star) return;
    
    var i, e = Hatena.Star.EntryLoader.entries;
    
    for (i = 0; i < e.length; i++) {
    
    	if (!e[i].stars.length) continue;
    
    	e[i].bmlS = function() {
    
    		new Ten.JSONP(Hatena.Star.BaseURL + 'entry.json?uri=' + this.eURI, this, 'bmlR');
    
    	};
    
    	e[i].bmlR = function(r) {
    
    		r = r.entries[0];
    
    		var i, e, t = 0, n = {}, c = r.colored_stars, s = r.stars;
    		e = (s) ? s : [];
    
    		if (c) for (i = 0; i < c.length; i++) e = e.concat(c[i].stars);
    
    		for (i = 0; i < e.length; i++) if (!n[e[i].name]) {
    
    			n[e[i].name] = 1;
    			t++;
    
    		}
    
    //		alert(this.uri + " : " + t);
    		this.star_container.appendChild(document.createTextNode(t));
    
    	};
    
    	e[i].bmlS();
    
    }
    
    })();
    
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。

History

  1. 2010/08/27 15:48:31 - 2010-08-27
  2. 2010/08/27 15:45:35 - 2010-08-27
  3. 2010/08/26 21:23:28 - 2010-08-26
  4. 2010/08/26 18:59:44 - 2010-08-26
  5. 2010/08/26 18:20:07 - 2010-08-26