[hatena]この人のプロフィール Fork

    @@ -101,6 +101,6 @@ && /^[A-Za-z][\-\w]{1,30}[\dA-Za-z]$/.test(i) /* && console.log(i, u[0])*/ && void(window.open(`http:\u002F\u002Fprofile.hatena.ne.jp/${i}/`)) - )) + ) - ( + )() - )+ /* おまじない */
  • /*
     * @title [hatena]この人のプロフィール
     * @description profile.hatena.ne.jp に飛びます。
     * @include *
     * @license MIT License
     * @javascript_url
     */
    
    /*
    // ノードとか見る方
    [
    'https://daichkr.hatelabo.jp/antenna/960669575395951115',
    'http://quyo.hatelabo.jp/items/5476c75138633800021d0000',
    'http://copie.hatelabo.jp/cp/gYC-xLrOpsWNbA',
    'http://counting.hatelabo.jp/count/118791',
    'http://serif.hatelabo.jp/a2504c7ccb748c24565b1feb73f6bf2192e81383/',
    'http://serif.hatelabo.jp/a2504c7ccb748c24565b1feb73f6bf2192e81383/6bfba5ff61d5d7699d620e9f72ffae17efabc2b5',
    'http://a.hatena.ne.jp/include?uid=sample',
    'http://d.hatena.ne.jp/sample/20071112#c1194857635',
    'http://d.hatena.ne.jp/hatenadiary/20030314#c1047642967',
    'http://d.hatena.ne.jp/keywordlog?klid=1005025',
    'http://sample.g.hatena.ne.jp/sample/20040418#c1167971092',
    'http://sample.g.hatena.ne.jp/sample/20040418#c1297938357',
    'http://sample.hatenastaff.com/',
    'http://i.hatena.ne.jp/idea/162',
    'http://q.hatena.ne.jp/1189538758',
    'http://q.hatena.ne.jp/1189538758/115450/#i115450',
    'http://q.hatena.ne.jp/1345623024#a1163768',
    'http://q.hatena.ne.jp/1284525413#c213292',
    ];
    */
    /*
    // URL だけ見る方
    [
    'https://daichkr.hatelabo.jp/hatelabo/',
    'http://quyo.hatelabo.jp/users/hakobe932',
    'http://daishonin.hatelabo.jp/user/hatelabo',
    'http://daishonin.hatelabo.jp/user/hatelabo/52fc4783021d8693c0000006',
    'http://let.hatelabo.jp/secondlife/',
    'http://let.hatelabo.jp/secondlife/let/gYC-xpO2uIvsEQ',
    'http://let.st-hatelabo.com/secondlife/let/gYC-xpO2uIvsEQ.bookmarklet.js',
    'http://copie.hatelabo.jp/cho45/',
    'http://counting.hatelabo.jp/user/chris4403',
    'http://serif.hatelabo.jp/secondlife/',
    'http://cdn1.www.st-hatena.com/users/sa/sample/profile.gif',
    'http://a.hatena.ne.jp/sample/',
    'http://b.hatena.ne.jp/sample/',
    'http://b.hatena.ne.jp/entry/574190/comment/sample',
    'http://d.hatena.ne.jp/sample/',
    'http://d.hatena.ne.jp/hatenadiary+cooking/',
    'http://f.hatena.ne.jp/sample/',
    'http://cdn-ak.f.st-hatena.com/images/fotolife/s/sample/20050728/20050728171129.jpg',
    'http://sample.g.hatena.ne.jp/sample/',
    'http://h.hatena.ne.jp/hatenahaiku/',
    'http://h.hatena.ne.jp/id/hatenahaiku/',
    'http://i.hatena.ne.jp/hatenaidea/',
    'http://q.hatena.ne.jp/hatenaquestion/',
    'http://s.hatena.ne.jp/sample/' // その他のサービス代表
    ].forEach(
    */
    ((a, i, p = 'parentNode', q = 'querySelector', m = 'match', h = 'pathname', l = location,
     u = ((a || l.href)[m](/(\w+)\.(st-)?(hate(labo|na)\.(ne\.jp|jp|com))(\/touch|\/mobile)?\/([^\/]+)(.*)/) || []),
     f = u[7], s = u[8],
     b = '', e = [b, f],
     $ = _ => document[q](_),
     r = _ => ((_ = l.hash[m](_)) ? $(`a[name="${_[1]}"]`) : 0),
     t = _ => (_[h] ? _[h].slice(1, -1) : f),
     d = (_ = 0, z = b) => (_ && (_ = $(z))
      ? _[h][m](/^(\/users?\/|\/)([^\/]+)/)[2]
      : (/^(users?|id)$/.test(f) ? s[m](/[^\/]{3,}/)[0] : f)
     ),
     g = f => ((a = r(/(c\d+)/)) ? t(a[p][p][q]('.hatena-id-icon')) : f)[m](/[^+]+/)[0]
    ) => ((i = f ?
    	({
    		/*'daishonin': f => d(),*/
    		'daichkr': f => d(f == 'antenna', '.created a'),
    		'quyo': f => d(f == 'items', '.author a'),
    		'copie': f => d(f == 'cp', 'div[class="banner"] a'),
    		/* div.username が存在する */
    		'counting': f => d(f == 'count', 'a.username'),
    		'serif': f => d(f.length == 40, '.userlink'),
    		/*'www': f => d(),*/
    		'a': f => (l.search[m](/uid=([^&]+)/) || e)[1],
    		'b': f => (s[m](/\/comment\/(.+)/) || e)[1],
    		'd': f => (f[m](/^keywordlog\?/) ? d(1, '.username') : g(f)),
    		'f': f => (s[m](/([^\/]+)\/\d{8}\//) || e)[1],
    		'g': g,
    		/*'h': f => d(),*/
    		'i': f => d(f == 'idea', 'td a'),
    		'k': f => d(f == 'idea', 'td a'),
    		/* 退会者の処理はしょった */
    		'q': f => ((a = r(/([aci]\d+)/)) && (a = t({
    			a: a[p][p][p][q]('.f-left a'),
    			c: a[p][p][q]('a'),
    			i: a[p][q]('a[href$="/"]:not([class])')
    		 }[l.hash.charAt(1)])) ? a : d(/^\d+$/.test(f), '.questioner-title a'))
    	}[u[1]] || (f => d()))(f)
    	/* コメントのパーマリンクもあるけど隠されてるのでスルー */
    	 : $('html').dataset.author
     )
     && /^[A-Za-z][\-\w]{1,30}[\dA-Za-z]$/.test(i) 
    /* && console.log(i, u[0])*/
     && void(window.open(`http:\u002F\u002Fprofile.hatena.ne.jp/${i}/`))
    )
    )()
    /* おまじない */
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。