// ==UserScript==
// @name himado GoodByeTop Script
// @namespace Scottie400
// @include http://himado.in/?sort=movie_id&page=*
// @version 1.2
// @grant none
// @description N/A
/* *****************************************************************************************
◆ひまわり動画において、見たい登録動画を厳選しアクセスしやすくするものです。
新着順ページが最も早く更新・反映されることを利用し、
基本的に需要や視聴の蓋然性が低いものなどを瞬時に選別することで、
「あれ見たかったのにたくさんの登録で埋もれていて忘れてしまった…!」という事態を減らします。
1ページで約1~2日分を一覧でき、10ページまでさかのぼれる仕様となっています。
本来のひまわり動画の良さを108%引き出し快適化することが可能です。
ブックマークは「http://himado.in/?sort=movie_id&page=0」に変更すると便利です。
設定の仕方については、ソースコード内の説明を参照。
項目は6つで簡潔ですので、全文をちゃんとチェックし各々好みで工夫して設定してください。
◆Greasemonkey(firefox)、Tampermonkey(Chorome,Opera)というアドオンが必要です。
導入方法はこちらを要参照⇒http://dic.nicovideo.jp/a/greasemonkey
ユーザースクリプトとは?⇒https://greasyfork.org/
◆ひまわり動画側の設定制約
⇒http://himado.in/?mode=customview
サムネイル--------どれでもOK
動画情報表示------すべて・標準・最小(なし以外可)
コメント表示------どれでもOK
クイックサーチ----チェックON/OFF可
検索履歴----------チェック必須
視聴履歴----------チェック必須
※Last Update : 2015-09-19
※ご使用は自己責任でお願いします。責任を負いかねます。
※設定後にページが変わらないままになる場合は設定の仕方が間違っています。見直しましょう。
※推奨環境:Win7が普通に動く程度を満たすスペック・ちゃんと更新しているブラウザ
***************************************************************************************** */
// ==/UserScript==
//◆1◆「タイトル "許可" 設定」です。
// 除外しなくていい登録をタイトル中の単語で指定します。
//◆下記のように「'***',」と羅列していきます。最後だけは「,」を書かないこと。見やすく改行しても大丈夫。
// 記入例 var AdmissionT = ['ひまわり', 'きのこ', 'たけのこ'];
//◆「AdmissionT」はタイトル文字列指定。「AdmissionS」は正規表現用です(わかる人のみイジってください)。
//◆追っているモノ等で好みのタイトル指定をして快適にしてください。デフォはオススメのものです。
// 使わない場合はそのまま未記入の空の1行のみで大丈夫です、必須。
//◆編集が終わったら「保存」を忘れずに!
var AdmissionT = [
'追加',
'予告',
'限定',
'ねこ'
];
var AdmissionS = /(\d+話|(\s|#)\d{2,3}\s)/;
//◆2◆「タイトル "排除" 設定」です。
// 取りわけ事前に排除したい登録をタイトル中の単語で指定します。記入方法等は許可設定と全く同じ。
var AdmissionN = [
];
//◆3◆「カテゴリ "許可" 設定」です。
// 除外しなくていいカテゴリを指定します。
//◆こちらも同じく、書き方は「タイトル許可設定」らと同じです。
//◆使える単語は「アニメ・ゲーム・音楽・スポーツ・ドラマ・特撮・エンタメ・ラジオ・やってみた」のみ。
var AdmissionC = [
'アニメ'
];
//◆4◆「人気登録の強調」です。
//◆total再生数がいくら以上で強調したいか指定してください。数を1つだけ記述し「' ',」は要りません。
// 必要ない場合はとても大きい数字(99999999等)にすればOK。
//◆デフォの数値は目安です。
var TotalV = (
5000
);
//◆5◆ 特別ピックアップ「PickUp HIT」の設定です。このUserScriptの最も便利で肝な機能になります。
// 特定の登録を選別し別個に羅列表示することで、見逃しを極力減らします。
//◆日本語を含む単語を推奨(1~3文字ほどの短い英数字のみでは稀に誤爆する場合があります)。
//◆ほとんどの人はデフォの文字列で十分だと思いますが、
// 広く「'話', '#'」といった指定もいいでしょうし、個人的に追っているモノのキーワードを追加しても可です。
var imiTop = [
'追加',
'高画質',
'限定'
]
//◆6◆「PickUp HIT」の表示の高さを指定できます(任意)。
// 自前のブラウザの大きさに合わせて「'***px';」と調節値を入れてください。概ね800pxで3行表示です。
var PUHheight =
'800px';
/////////////////////////////////////////////////////////////////////////////////////////////////////
//◆編集不要範囲 ここから
////フェードインアウト ここから
$('#body_top').before('<div class="BlackorWhite"></div>');
$('.BlackorWhite').css('cssText', 'display:none; width:3000px; height:5000px; position:fixed; background-color:#272727; z-index:99;');
$('.BlackorWhite').fadeIn(200, "swing");
////フェードインアウト ここまで
///メイン動作 ここから
var pageNo1 = location.search.match(/\d/g).join("");
pageNo2 = parseInt(pageNo1)
pageP1 = (pageNo2+1)
pageP2 = (pageNo2+2)
pageP3 = (pageNo2+3)
var pageURL1 = "http://himado.in/?sort=movie_id&page=" + pageP1;
var pageURL2 = "http://himado.in/?sort=movie_id&page=" + pageP2;
var pageURL3 = "http://himado.in/?sort=movie_id&page=" + pageP3;
var pageTag = ".thumbblock_3colum";
$("#fc2count").load(pageURL1+' '+pageTag, function () {
$('.thumbblock_3colum').insertBefore('#thumb').css({'width':'245px', 'display':'inline-block'});
$("#fc2count").load(pageURL2+' '+pageTag, function () {
$('.thumbblock_3colum').insertBefore('#thumb').css({'width':'245px', 'display':'inline-block'});
$("#fc2count").load("http://himado.in/ .movie_imageBox", function () {
$('.skycraper').prepend('<div class="Top9Only"></div>');
$('.movie_imageBox').prependTo('.Top9Only').css('cssText', 'width:150px!important; height:84.4px!important; display:inline-block!important; clip: rect(20px, 200px, 100px, 20px); overflow:hidden!important;');
Top9Only = document.getElementsByClassName('movie_imageBox');
$(Top9Only[8]).hide();$(Top9Only[9]).hide(); $(Top9Only[10]).hide(); $(Top9Only[11]).hide(); $(Top9Only[12]).hide(); $(Top9Only[13]).hide(); $(Top9Only[14]).hide(); $(Top9Only[15]).hide();
$("#fc2count").load("http://himado.in/ .movieMain_imageBox", function () {
$('.movieMain_imageBox').prependTo('.Top9Only').css('cssText', 'width:300px!important; height:168.75px!important; display:inline-block!important; overflow:hidden!important;');
////全体スタイル編集 ここから
var headmenus = document.getElementsByClassName('headmenus');
var sortnavis = document.getElementsByClassName('sortnavi');
var pagenavis = document.getElementsByClassName('pagenavi');
var Tds = document.getElementsByTagName('td');
var seahis1 = document.getElementsByClassName('head3');
var seahis2 = document.getElementsByTagName('ol');
$('html').css('width', '75%');
$('#body_top').css('cssText', 'background-image:url(http://i59.tinypic.com/2drxtee.jpg)!important; background-attachment:fixed!important; background-position:right bottom!important; background-repeat:no-repeat!important;');
$('.contents').css({'width':'760px', 'margin-top':'130px', 'margin-left':'auto', 'margin-right':'auto'});
$('#header').css({'width':'759px', 'position':'fixed', 'top':'0px', 'background-color':'#272727', 'opacity':'0.90', 'color':'#C0C0C0', 'z-index':'2'}).appendTo('body_top');
$('#sv_logo a').removeAttr("href").css('cssText', 'background:none!important; padding:0px 0px 0px 0px!important; display:inline-block!important;');
$('.headmenu').insertBefore(seahis1[0]).css('padding', '20px 5px 2px 11px');
$('.headmenus').not(headmenus[7]).remove();
$('#searchform').empty();
$('#header table').css('width', '759px');
$('#leftbox').css('width', '760px');
$('.pagenavi').css({'width':'753px', 'margin-top':'15px', 'font-size':'120%', 'font-weight':'bold'});
$('.sortnavi').css({'width':'755px'});
$('.thumbcomment').css('width', '98%');
$('.home_head').css('width', '738px');
$(pagenavis[0]).prependTo('.sortnavi').css({'margin-top':'10px', 'margin-left':'-2px'});
$(pagenavis[1]).remove();
$(sortnavis[0]).appendTo('#header');
$(Tds[0]).css('width', '240px');
$('.head3').css('margin-top', '20px');
$('#group_link, .pagenavi_res, #thumb, .sortnavi_other, #sh_fc2footer_fix').remove();
////全体スタイル編集 ここまで
////東ゴ◯トー共和国選別計画 ここから
var Nodes = document.getElementsByClassName('thumbblock_3colum');
var TitleALL = document.getElementsByClassName('thumbtitle');
var CategALL = document.getElementsByClassName('thumbleft');
var numT = TitleALL.length;
var numC = CategALL.length;
var num1 = Math.max(numT, numC);
Back1: for (var h = 89; h >= 0; h--) {
var isExist1 = Nodes[h].innerHTML;
var isExist21 = isExist1.indexOf("youtube.com")!== -1;
var isExist22 = isExist1.indexOf("fc2.com")!== -1;
if(isExist21 == true || isExist22 == true) {
var bodyInnerText1 = TitleALL[h].innerHTML;
var bodyInnerText2 = CategALL[h].innerHTML;
for (var i = 0; i < num1; i++) {
var isExist31 = AdmissionS.test(bodyInnerText1);
var isExist32 = bodyInnerText1.indexOf(AdmissionT[i])!== -1;
var isExist4 = bodyInnerText2.indexOf(AdmissionC[i])!== -1;
if(isExist31 == false && isExist32 == false && isExist4 == false) {
continue;
}else{
continue Back1;
}
} (Nodes[h]).remove();
}
}
var Nodes2 = document.getElementsByClassName('thumbblock_3colum');
var TitleALL2 = document.getElementsByClassName('thumbtitle');
var numT2 = TitleALL2.length;
var numN = AdmissionN.length;
Back2: for (var f = numT2-1; f >= 0; f--) {
var bodyInnerText3 = TitleALL2[f].innerHTML;
for (var g = 0; g < numN; g++) {
var isExist5 = bodyInnerText3.indexOf(AdmissionN[g])!== -1;
if(isExist5 == true) {
$(Nodes2[f]).remove();
continue Back2;
}
}
}
var Nodes3 = document.getElementsByClassName('thumbblock_3colum');
var ViewsALL = document.getElementsByClassName('thumbdata');
var numV = ViewsALL.length;
for (var j = numV; j >= 1; j--) {
var bodyInnerText4 = ViewsALL[j-1].innerHTML;
var SearchString = "\d+";
var RegularExp = new RegExp(SearchString, "g");
var isExist6 = bodyInnerText4.match(/[0-9]+\.?[0-9]*/g);
var num2 = isExist6.length;
if(isExist6[num2 - 4] >= TotalV) {
$(Nodes3[j-1]).css('background-color', 'rgba(255,76,76,0.2)');
}
}
$('#searchform').after('<div id="PickUpHIT"></div>');
$('#PickUpHIT').css('cssText', 'width:1032px; margin-top:2px; margin-left:-2px; font-color:#fff; background-color:#111; z-index:9; overflow:auto!important;');
$('#PickUpHIT').css('height', PUHheight);
var TitleALL3 = document.getElementsByClassName('thumbtitle');
var numT3 = TitleALL3.length;
var numi = imiTop.length;
Back3: for (var k = numT3-1; k >= 0; k--) {
var bodyInnerText5 = TitleALL3[k].innerHTML;
for (var l = 0; l < numi; l++) {
var isExist7 = bodyInnerText5.indexOf(imiTop[l])!== -1;
if(isExist7 == true) {
$(Nodes3[k]).prependTo('#fc2count').css({'background-color':'rgba(255,76,76,0.3)'});
continue Back3;
}
}
}
$('#fc2count .thumbblock_3colum').prependTo('#PickUpHIT');
$('#fc2count').remove();
////東ゴ◯トー共和国選別計画 ここまで
////ソート・履歴スタイル編集 ここから
var isExist8 = seahis1[0].innerHTML;
var isExist9 = isExist8.indexOf("クイックサーチ")!== -1;
if(isExist9 == true) {
$('.skycraper').css({'width':'305px', 'height':'2000px', 'position':'absolute', 'top':'46px', 'left':'auto', 'margin-left':'775px'});
$(seahis1[1]).css({'width':'125px', 'margin-left':'4px', 'vertical-align':'top', 'float':'left'}).insertAfter(seahis1[0]);
$(seahis1[2]).css({'width':'160px', 'vertical-align':'top', 'float':'left'}).insertAfter(seahis1[1]);
$(seahis2[0]).css({'width':'130px', 'height':'auto', 'vertical-align':'top', 'display':'inline-block'});
$(seahis2[1]).css({'width':'170px', 'height':'auto', 'vertical-align':'top', 'display':'inline-block', 'overflow':'auto'});
$(seahis1[0]).remove();
$('#table_quicksearch').css({'margin-top':'25px', 'position':'relative', 'width':'300px', 'height':'800px', 'table-layout':'fixed', 'vertical-align':'top', 'display':'inline-block', 'overflow':'auto'}).insertBefore(seahis1[0]);
} else {
$('.skycraper').css({'width':'305px', 'position':'absolute', 'top':'46px', 'left':'auto', 'margin-left':'775px'});
$(seahis1[0]).css({'width':'125px', 'margin-left':'4px', 'vertical-align':'top', 'float':'left'});
$(seahis1[1]).css({'width':'160px', 'vertical-align':'top', 'float':'left'}).insertAfter(seahis1[0]);
$(seahis2[0]).css({'width':'130px', 'height':'auto', 'vertical-align':'top', 'display':'inline-block'});
$(seahis2[1]).css({'width':'170px', 'height':'auto', 'vertical-align':'top', 'display':'inline-block', 'overflow':'hidden'});
}
$('#thumb, .sortnavi_short').remove();
$(".pagenavi").empty();
$(document).ready(function(){
$(".pagenavi").append('<ul class="pagenavi_pager"><a href="#" class="btn1"><span class="pager">❂ Pi©kUp HIT ❂</span></a>………<a href="./?sort=movie_id&page=0" class="pagelink"><span class="pager">1</span></a><a href="./?sort=movie_id&page=3" class="pagelink"><span class="pager">2</span></a><a href="./?sort=movie_id&page=6" class="pagelink"><span class="pager">3</span></a><a href="./?sort=movie_id&page=9" class="pagelink"><span class="pager">4</span></a><a href="./?sort=movie_id&page=12" class="pagelink"><span class="pager">5</span></a><a href="./?sort=movie_id&page=15" class="pagelink"><span class="pager">6</span></a><a href="./?sort=movie_id&page=18" class="pagelink"><span class="pager">7</span></a><a href="./?sort=movie_id&page=21" class="pagelink"><span class="pager">8</span><a href="./?sort=movie_id&page=24" class="pagelink"><span class="pager">9</span></a><a href="./?sort=movie_id&page=27" class="pagelink"><span class="pager">10</span></a>………<a href="#" class="btn2"><span class="pager"> TOP9 Peep⇒</span></a></ul>');
});
$(document).ready(function(){
$("#PickUpHIT").hide();
var flg = "close";
$(".btn1").click(function(){
$("#PickUpHIT").toggle(150);
if(flg == "close"){
$(this).html('<span class="pager"> Hide </span>');
flg = "open";
}else{
$(this).html('<span class="pager">❂Pi©kUp HIT❂</span>');
flg = "close";
}
});
});
$(document).ready(function(){
$(".Top9Only").hide();
var flg = "close";
$(".btn2").click(function(){
$(".Top9Only").slideToggle();
if(flg == "close"){
$(this).html('<span class="pager"> Hide </span>');
flg = "open";
}else{
$(this).html('<span class="pager"> TOP9 Peep⇒</span>');
flg = "close";
}
});
});
////ソート・履歴スタイル編集 ここまで
////現在のページ強調(窮策) ここから
var pagelinks = document.getElementsByClassName('pagelink');
for (var n = 0; n < 20; n++) {
var pageNo4 = pagelinks[n].outerHTML;
var pageNo5 = pageNo4.substring(35, 38);
pageNo5 = parseInt(pageNo5)
if(pageNo1 == pageNo5) {
$(pagelinks[n]).css('background-color','#FF4C4C');
}
}
////現在のページ強調(窮策) ここまで
$('.BlackorWhite').fadeOut(1200, "swing");
});
});
});
});
///メイン動作 ここまで
//◆編集不要範囲 ここまで
////////////////////////////////////////////////////////////////////////////////////////////////////