【自動リロード】abemaTVのコメントヘルパー作った。【ちょっとだけ軽量化】
二番煎じですみません。気づかずに作りました。
あと超絶作りが雑ですみません。
これはなに?
・abemaTVのウインドウをコメント専用表示にします。*1
・新着コメント(のボタン)を3秒間隔でチェックし、リロードします。
・[2016-05-02版より] 軽量化対策のため、コメントの表示件数を150件程度に制限します。*2
動作確認は Chrome 49 で行っています。
Firefoxでも動くみたいです(下記のブックマークレットは動きません*3)。
var _jq = null; document.body.appendChild( function(){ src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"; sc = document.createElement("script"); sc.type="text/javascript"; sc.src=src; sc.onload = function() { // jQuery 読込後の処理 _jq = window.jQuery.noConflict(); onReady("comment"); }; return sc; }() ); function onReady(mode) { // 要素フィルタ function filter(elms, regExp) { var elmArray = []; _jq(elms).each(function(index, elm) { var matchingElm = _jq(elm).prop("class"); if(matchingElm != undefined && matchingElm.match(regExp) != undefined) { elmArray.push(elm); } }); return elmArray; } // スクリーン部分除去 function removeScreen() { elements = _jq(filter(_jq("div"), /screen/g)[0]).find("> > div"); not = filter(elements, /TVContainer/); screen = elements.not(not); screen.hide(); } // コメント表示 function showComment() { filter(_jq("div"), /right-container/g)[0].click(); // _jq(filter(_jq("div"), /right-comment-area/g)[0]).width("100%"); var commentArea = _jq(filter(_jq("div"), /right-comment-area/g)[0]); commentArea.width("100%"); commentArea.css("transform", "initial"); } // 番組詳細表示 function showDetail() { filter(_jq("div"), /view-count/g)[0].click(); _jq(filter(_jq("div"), /right-slide--shown/g)[0]).width("100%"); } // コメントの自動リロード function reloadComment() { setTimeout(function(){ reloadComment(); if(mode == "detail") showDetail(); if(mode == "comment") showComment(); var newCmtBtn = filter(_jq("button"), /continue-btn/g); if(newCmtBtn.length != 0) newCmtBtn[0].click(); commentLimit(); }, 3000); } // commentLimit function commentLimit() { var count = 0; _jq.each(filter(_jq(filter(_jq("div"), /comment-list/g)[0]).find(">div"), /item/g), function(index, elm){ if(count++ >= 150) _jq(elm).hide(); }); } reloadComment(); removeScreen(); }
見た感じ、ウインドウ表示後はコメントAPIだけのやり取りになってるようですが、もし過負荷を与えるようなら(CAさんとかAbemaさんから苦情が入ったら)削除すると思います。
使い方
動作確認程度なら、上記を開発者ツールのコンソールにコピペすると動きます。
または、以下のブックマークレットでも動きます。
javascript:(function(e){e=document.createElement('script');e.src='//dd.naba78.net/abema/commentHelper.js';document.head.appendChild(e);})();
ブックマークに上記をアドレスとして登録し、チャンネル表示後(動画再生開始後)にブックマークを開いてください。
※ブックマークレットが置いてあるサーバはとても貧弱なので、なるべく各自の環境に配置してお使いください。気が向いたら性能考えて別の場所に置くかもしれません(機能しなくなったら場所が変わってるかもしれません)。
改訂履歴
2016-04-30 : 初版
2016-05-02 : コメント表示件数を150件程度に制限、リサイズした時にコメント表示が一瞬戻る点を修正