nicoMylist

  • /*
     * @title nicoMylist
     * @description niconicoのMylist登録ウィンドウを表示.Nsenで便利 詳細は http://nico.ms/ar201595
     * @description 公式のマイリストボタンと同じようにポップアップを出すので最近のFirefoxとかは nicovideo.jp を例外に追加しないと動かないかも
     * @description セキュアなサイトだとブラウザの保護機能が働くので基本的に動作しません (Hatena::Let がセキュアではないため)
     * @description ギッヨハブでも管理してます https://github.com/uzuky/nicoMylist
     * @description セキュアなサイトで動かしたい場合は、このページでブックマークレットを登録後、そのブックマークを編集し、URL欄の javascript:~ をギッヨハブのページにある javascript:~ に入れ替えてください
     * @license MIT License
     */
    
    javascript: (function () {
    	var D = document,
    		H = D.location.href,
    		N = D.documentElement.innerHTML;
    	if (N.match(/content="Nsen.*?"/) && H.match(/nicovideo\.jp\/watch/)) {
    		PB = D.getElementById("playingBox"),
    		ML = PB.getElementsByClassName("movieLink");
    		NOA = ML[0].innerHTML;
    		window.open(NOA.replace(/.*?([a-zA-Z]{0,2}\d+).*/, 'http://www.nicovideo.jp/mylist_add/video/$1'), '_blank', 'width=500,height=360')
    	} else if (H.match(/blomaga\/ar\d+/)) {
    		window.open(H.replace(/.*?(ar\d+).*/, 'http://www.nicovideo.jp/mylist_add/blomaga/$1'), '_blank', 'width=500,height=360')
    	} else if (H.match(/watch\/bk\d+/)) {
    		window.open(H.replace(/.*?(bk\d+).*/, 'http://www.nicovideo.jp/mylist_add/book/$1'), '_blank', 'width=500,height=360')
    	} else if (H.match(/(www|i)\.nicovideo\.jp\/watch\/\d+/)) {
    		AD = D.getElementById("watchAPIDataContainer");
    		if (AD != null) {
    			window.open(AD.innerHTML.replace(/.+videoId.+?([a-zA-Z]{0,2}\d{1,8}).+/, 'http://www.nicovideo.jp/mylist_add/video/$1'), '_blank', 'width=500,height=360')
    		} else {
    			AD = D.getElementById("MainVideoPlayer");
    			window.open(AD.innerHTML.replace(/.+\/nicovideo\-([a-zA-Z]{0,2}\d{1,8}).+/, 'http://www.nicovideo.jp/mylist_add/video/$1'), '_blank', 'width=500,height=360')
    		}
    	} else if (H.match(/sp\.nicovideo\.jp\/watch\/\d+/)) {
    		DC = D.getElementById("jsDataContainer");
    		window.open(DC.outerHTML.replace(/.+data-video_id.+?([a-zA-Z]{0,2}\d{1,8}).+/, 'http://www.nicovideo.jp/mylist_add/video/$1'), '_blank')
    	} else if (H.match(/(www|i|sp)\.nicovideo\.jp\/watch\/..\d+/)) {
    		window.open(H.replace(/.*?([a-zA-Z]{0,2}\d+).*/, 'http://www.nicovideo.jp/mylist_add/video/$1'), '_blank', 'width=500,height=360')
    	} else if (H.match(/www\.nicovideo\.jp\/(?:mylist\/\d+|my\/mylist(?:\/#\/\d+)?|(?:user\/\d+|my)\/video)/)) {
    		if (H.match(/mylist\/\d+/)) {
    			CNm = 'SYS_box_item';
    		} else {
    			CNm = 'thumbContainer';
    		}
    		var b = document.getElementsByClassName(CNm),
    		//scrT = document.body.scrollTop || document.documentElement.scrollTop,
    		//scrH = document.body.scrollHeight || document.documentElement.scrollHeight,
    		//wSize = window.innerHeight || document.body.clientHeight || document.documentElement.clientHeight,
    		c = new Array();
    		//scrollTo(0,scrH - wSize);
    		//setInterval(window.scrollTo(0,Hit.scrollHeight),1);
    		//alert(scrH - scrT <= wSize);
    		//alert(scrT);
    		//alert(scrH);
    		//alert(wSize); muri
    		for (i = 0; i < b.length; i++) {
    			c[i] = b[i].innerHTML.replace(/a href="watch\/(..\d+).+(">(?:\n\s*)?)<img.+?("http:\/\/[^"]+?smilevideo\.jp\/smile\?i=\d+").*?>(.*?(?:\n\s*)?.*?(?:vinfo_length"><span>|videoTime">))/,'a onclick="window.open(\'/mylist_add/video/$1\', \'_blank\', \'width=500,height=360\'); return false;" href="/mylist_add/video/$1$2<img class="img_std96" alt="" src=$3>$4+');
    			b[i].innerHTML = c[i];
    		}
    	} else {
    		var t = prompt('動画、ブロマガ、書籍のID/URLを入力してください', '');
    		if (t.match(/ar\d+/)) {
    			window.open(t.replace(/.*?(ar\d+).*/, 'http://www.nicovideo.jp/mylist_add/blomaga/$1'), '_blank', 'width=500,height=360')
    		} else if (t.match(/bk\d+/)) {
    			window.open(t.replace(/.*?(bk\d+).*/, 'http://www.nicovideo.jp/mylist_add/book/$1'), '_blank', 'width=500,height=360')
    		} else if (t.match(/.*\d+/)) {
    			window.open(t.replace(/.*?([a-zA-Z]{0,2}\d+).*/, 'http://www.nicovideo.jp/mylist_add/video/$1'), '_blank', 'width=500,height=360')
    		} else {
    			window.alert('ニコニコ動画用です。何かあったら\nhttps://mstdn.jp/@uzuky \nhttp://nico.ms/ar201595 \nまで\n v20171106 (松岡修造の日(火))');
    		}
    	}
    })();
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。

History

  1. 2017/11/06 02:16:25 - 2017-11-06
  2. 2017/11/06 02:15:33 - 2017-11-06
  3. 2017/11/06 02:11:04 - 2017-11-06
  4. 2017/11/06 02:03:13 - 2017-11-06
  5. 2014/04/02 23:07:45 - 2014-04-02
  6. 2014/04/02 22:39:01 - 2014-04-02
  7. 2014/04/02 22:25:30 - 2014-04-02
  8. 2014/04/02 20:22:50 - 2014-04-02
  9. 2014/04/02 20:22:09 - 2014-04-02
  10. 2014/04/02 20:21:10 - 2014-04-02
  11. 2014/04/02 20:16:33 - 2014-04-02
  12. 2014/04/02 20:11:02 - 2014-04-02
  13. 2014/04/02 19:16:49 - 2014-04-02
  14. 2014/04/02 19:16:20 - 2014-04-02
  15. 2013/12/07 21:21:24 - 2013-12-07
  16. 2013/11/03 04:58:08 - 2013-11-03
  17. 2013/10/18 08:13:48 - 2013-10-18
  18. 2013/10/18 08:08:57 - 2013-10-18
  19. 2013/09/18 23:54:07 - 2013-09-18
  20. 2013/09/18 23:52:16 - 2013-09-18
  21. 2013/09/08 19:43:36 - 2013-09-08
  22. 2013/08/23 11:08:18 - 2013-08-23
  23. 2013/08/23 10:58:21 - 2013-08-23
  24. 2013/08/23 10:50:40 - 2013-08-23