// ==UserScript== // @name 動畫瘋·Plus // @namespace none // @version 1.12.4 // @description 分級標識自動同意、跳過廣告、分級鎖定、影片空降座標、網頁全螢幕 // @author xu3u04u48 // @match *://ani.gamer.com.tw/animeVideo.php?sn=* // @grant none // @icon https://i2.bahamut.com.tw/anime/baha_s.png // @require https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js // @downloadURL none // ==/UserScript== $('.sub_top').append('
動畫瘋·Plus設定
'); $('.ani-tab-content').append(''); $('a[href="#ani_tab_content-3"]').click(function(){ $(".ani-tab-content__item").css("display","none"); $("#ani-tab-content-3").css("display","block"); $('.ani-tabs-link').removeClass('is-active'); $(this).addClass("is-active"); }); $('head').append(` `); //實體化使用者介面 $("#ani-tab-content-3").prepend(`

動畫瘋·Plus

自動同意分級標識警告
跳過動畫瘋廣告
影片加速
分級鎖定
空降座標
空降足跡 (點擊降落)

    目前沒有人嘗試空降!
    發個彈幕報告空降座標吧!
`); $('.video').append(`
`); $('head').append(` `); /* $('head').append(` `); $(".cmt").addClass("cmt"); */ $(function (){ var Switch = true; window.qtimer = setInterval(function(){ if($(".R18").length == 0 && $(".plus-frame").length == 0){ $(".vjs-fullscreen-control").after(''); clearInterval(window.qtimer); } $("#Web_fullscreen").click(function(){ if(Switch){ Switch = false; var win_height = $(window).height(); var win_width = $(window).width(); $("body").after('
'); $("#animeTip").css("bottom","-40px"); $("html").css("overflow-y","hidden"); $("html").css("overflow-x","hidden"); $(".vjs-indent-button").css("display","none"); $(".plus_Web_fullscreen_icon").css("color","#fff"); $(".plus_Web_fullscreen_icon").css("background","#333"); }else{ Switch = true; $("#Web_fullscreen_style").remove(); $("#animeTip").css("bottom","0px"); $("html").css("overflow-y","unset"); $("html").css("overflow-x","unset"); $(".videoframe").css("height",""); $(".videoframe").css("width",""); $(".videoframe").css("margin",""); $(".vjs-indent-button").css("display","unset"); $(".plus_Web_fullscreen_icon").css("color",""); $(".plus_Web_fullscreen_icon").css("background",""); $(".vjs-danmu").css("perspective",""); } $(document).keydown(function(e) { if(e.keyCode == 27 && !Switch){ Switch = true; $("#Web_fullscreen_style").remove(); $("#animeTip").css("bottom","0px"); $("html").css("overflow-y","unset"); $("html").css("overflow-x","unset"); $(".videoframe").css("height",""); $(".videoframe").css("width",""); $(".videoframe").css("margin",""); $(".vjs-indent-button").css("display","unset"); $(".plus_Web_fullscreen_icon").css("color",""); $(".plus_Web_fullscreen_icon").css("background",""); $(".vjs-danmu").css("perspective",""); } }); $(window).resize(function() { if(!Switch){ var win_height = $(window).height(); $(".videoframe").css("height",(win_height-40)+"px"); } }); $('#Web_fullscreen_style').append(` `); }); },2000); var ncc_warning_save = localStorage.getItem("ncc_warning"); var ad_skip_save = localStorage.getItem('ad_skip'); //var acceleration_save = localStorage.getItem('acceleration'); var font_save = localStorage.getItem('font'); var password_save = localStorage.getItem('password_save'); var grading_save = localStorage.getItem('grading_save'); if(ncc_warning_save == null){ncc_warning_save = localStorage.setItem('ncc_warning','false');} if(ad_skip_save == null){ad_skip_save = localStorage.setItem('ad_skip','false');} if(font_save == null){font_save = localStorage.setItem('font','unset');} if(grading_save == null){grading_save = localStorage.setItem('grading_save','none');} //if(acceleration_save == null){acceleration_save = localStorage.setItem('acceleration','false');} if(password_save != null ){ $("#plus-value").remove(); $("#plus-value2").css("display",''); } if(grading_save == null){ $(".plus-frame").remove(); } var grading_selected = $('#grading-password').val(grading_save); var grading = $("#grading-password").find(":selected").val(); if($('#grading-password').val() != "none"){ var rating_img = $(".rating > img").attr("src"); var rating_img_cut = rating_img.substr(30); switch (grading_save) { case '6': if(rating_img_cut == "TW-ALL.gif"){ $(".plus-frame").remove(); } break; case '12': if(rating_img_cut == "TW-ALL.gif" || rating_img_cut == "TW-6TO12.gif"){ $(".plus-frame").remove(); } break; case '15': if(rating_img_cut == "TW-ALL.gif" || rating_img_cut == "TW-6TO12.gif" || rating_img_cut == "TW-12TO18.gif"){ $(".plus-frame").remove(); } break; case '18': if(rating_img_cut != "TW-18UP.gif"){ $(".plus-frame").remove(); } break; } }else{ $(".plus-frame").remove(); } $("#grading-password").change(function(){ grading = $("#grading-password").find(":selected").val(); localStorage.setItem('grading_save',grading); }); /*$("#font").val(font_save); $(".vjs-danmu").css("font-family",font_save); $("#font").change(function(){ $(document).on('DOMSubtreeModified',function () { var font = $("#font").find(":selected").val(); $(".vjs-danmu").css("font-family",font); var font_selected = $("#font").find(":selected").val(); localStorage.setItem('font',font_selected); }); });*/ var ad_bool = false; $("#advertising").change(function() { localStorage.setItem('ad_skip',!ad_bool); ad_bool = !ad_bool; }); if(ad_skip_save == 'true'){ ad_bool = true; $("#advertising").prop("checked",true); var sn = animefun.videoSn; var adid = getAd()[0]; $.ajax({ url: 'ajax/videoCastcishu.php', data: { sn: sn, s: adid}, type: "GET" }); $.ajax({ url: 'ajax/videoCastcishu.php', data: { sn: sn, s: adid, ad: 'end' }, type: "GET" }); } var grading_bool = false; $("#grading").change(function() { localStorage.setItem('ncc_warning',!grading_bool); grading_bool = !grading_bool; }); if(ncc_warning_save == 'true'){ grading_bool = true; $("#grading").prop("checked",true); //$('head').append(''); window.timer = setInterval(function(){ if($(".ncc-choose-btn").length > 0 && $(".plus-frame").length == 0){ $("#adult").trigger("click"); clearInterval(window.timer); } },1000); } $("#acceleration").change(function() { if(this.checked){ var src = $("#ani_video_html5_api").attr("src"); if($("#ani_video_html5_api").get(0)!=null){$("#ani_video_html5_api").get(0).playbackRate = 10;} window.rrimer = window.setInterval(function(){ var src2 = $("#ani_video_html5_api").attr("src"); if($("#ani_video_html5_api").get(0).ended || src != src2){ $("#acceleration").attr("checked",false); window.clearInterval(window.rrimer); } },1000); } else { window.clearInterval(window.rrimer); if($("#ani_video_html5_api").get(0)!=null){$("#ani_video_html5_api").get(0).playbackRate = 1;} } }); window.uutimer = setInterval(function(){ if($(".R18").length == 0 && $(".vast-skip-button").length == 0 && $(".plus-frame").length == 0){ $("#plus-video-fastforward-minute").attr("disabled",false); $("#plus-video-fastforward-second").attr("disabled",false); $("#plus-video-fastforward-sendout").attr("disabled",false); $(".plus_keyword-label").css("cursor","pointer"); clearInterval(window.uutimer); } },2000); function fastforward(minute,second){ var video_fastforward_minute = parseInt(minute) || 0; var video_fastforward_second = parseInt(second) || 0; if((video_fastforward_minute*60) + video_fastforward_second < $("#ani_video_html5_api").get(0).duration){ $("#ani_video_html5_api").get(0).currentTime = (video_fastforward_minute*60) + video_fastforward_second; }else{ alert("未知的座標,空降失敗"); } $("#plus-video-fastforward-minute").val(""); $("#plus-video-fastforward-second").val(""); } $('#plus-video-fastforward-sendout').on('click', function() { var minute = $("#plus-video-fastforward-minute").val(); var second = $("#plus-video-fastforward-second").val(); fastforward(minute,second) }); function Asc(obj){ var text = obj; var asciiTable = "!\"#$%&\’()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"; var big5Table = "%uFF01%u201D%uFF03%uFF04%uFF05%uFF06%u2019%uFF08%uFF09%uFF0A%uFF0B%uFF0C%uFF0D%uFF0E%uFF0F%uFF10%uFF11%uFF12%uFF13%uFF14%uFF15%uFF16%uFF17%uFF18%uFF19%uFF1A%uFF1B%uFF1C%uFF1D%uFF1E%uFF1F%uFF20%uFF21%uFF22%uFF23%uFF24%uFF25%uFF26%uFF27%uFF28%uFF29%uFF2A%uFF2B%uFF2C%uFF2D%uFF2E%uFF2F%uFF30%uFF31%uFF32%uFF33%uFF34%uFF35%uFF36%uFF37%uFF38%uFF39%uFF3A%uFF3B%uFF3C%uFF3D%uFF3E%uFF3F%u2018%uFF41%uFF42%uFF43%uFF44%uFF45%uFF46%uFF47%uFF48%uFF49%uFF4A%uFF4B%uFF4C%uFF4D%uFF4E%uFF4F%uFF50%uFF51%uFF52%uFF53%uFF54%uFF55%uFF56%uFF57%uFF58%uFF59%uFF5A%uFF5B%uFF5C%uFF5D%uFF5E"; var result = ""; for (var i = 0; i < text.length; i++) { var val = escape(text.charAt(i)); var j = big5Table.indexOf(val); result += (((j > -1) && (val.length == 6)) ? asciiTable.charAt(j / 6) : text.charAt(i)); } return result; } function fastforward_skip(asc,key){ $("#fastforward_id_"+key).click(function(){ if($(".R18").length == 0 && $(".vast-skip-button").length == 0 && $(".plus-frame").length == 0){ var string = asc; var split = string.split(":"); fastforward(split[0],split[1]); } }); } var settings = { "async": true, "crossDomain": true, "url": "https://ani.gamer.com.tw/ajax/danmuGet.php", "method": "POST", "data": { "sn": animefun.videoSn } } $.ajax(settings).done(function (response) { var content=''; for(var key in response){ var string = response[key].text; var a = string.match(/^[^/-]*[\uFF10-\uFF19]*:[\uFF10-\uFF19]*[^\u4e00-\u9fa5_a-zA-Z\s]$|^[^/-]*[\uFF10-\uFF19]*:[\uFF10-\uFF19]*[^\u4e00-\u9fa5_a-zA-Z\s]$|^[/-]*[0-9]*:[0-9]*[^\u4e00-\u9fa5_a-zA-Z\s]$|^[/-]*[0-9]*:[0-9]*[^\u4e00-\u9fa5_a-zA-Z\s]$/); if( string.indexOf("空降") == "0" || string.indexOf("座標") == "0"|| string.indexOf("空降座標") == "0" || a){ var match = string.match(/[\uFF10-\uFF19]{1,}:[\uFF10-\uFF19]{1,}|[\uFF10-\uFF19]{1,}:[\uFF10-\uFF19]{1,}|[0-9]{1,}:[0-9]{1,}|[0-9]{1,}:[0-9]{1,}/); if(match){ $(".plus_no_sub").remove(); var asc = Asc(match[0]); var split = asc.split(":"); var match1 = split[0].match(/[0-9]{2}/); var match2 = split[1].match(/[0-9]{2}/); var minute = (!match1)? "0"+split[0]:split[0]; var second = (!match2)? "0"+split[1]:split[1]; $(".plus_time_body").append(''+minute+":"+second+'') fastforward_skip(asc,key); } } } }); //首次設定密碼 $('#plus-password-setup').on('click', function() { var first_time_password = $("#plus-password").val(); var password_save = localStorage.getItem('password_save'); if(first_time_password != "" ){ $("#plus-value").remove(); $("#plus-value2").css("display",'unset'); localStorage.setItem('password_save',btoa(first_time_password)); }else{ alert("請輸入密碼"); } }); //輸入密碼設定 $('#plus-password-enter-setup').on('click', function() { var enter_password_setting = $("#plus-password2").val(); if(!enter_password_setting){ alert("請輸入密碼"); }else { var password_save = localStorage.getItem('password_save'); if(password_save == btoa(enter_password_setting)){ $("#plus-value2").remove(); $("#ncc-password").css("display",'unset'); }else{ alert("密碼錯誤"); } } }); //輸入密碼解除 $('#plus-password-enter').on('click', function() { var enter_the_password = $("#plus-password3").val(); var password_save = localStorage.getItem('password_save'); if(!enter_the_password){ alert("請輸入密碼"); }else if(password_save == btoa(enter_the_password)){ $(".plus-frame").remove(); }else{ alert("密碼錯誤"); } }); //添加分級圖片 var rating_img1 = $(".rating > img").attr("src"); $('.plus-box').prepend(''); });