奈菲影视小猪手

功能较多并增加中,使用方法详见 https://gf.qytechs.cn/zh-CN/scripts/403365-%E5%A5%88%E8%8F%B2%E5%BD%B1%E8%A7%86%E5%B0%8F%E7%8C%AA%E6%89%8B

目前為 2020-06-03 提交的版本,檢視 最新版本

// ==UserScript==
// @name         奈菲影视小猪手
// @namespace
// @version      2.3.2
// @description  功能较多并增加中,使用方法详见 https://gf.qytechs.cn/zh-CN/scripts/403365-%E5%A5%88%E8%8F%B2%E5%BD%B1%E8%A7%86%E5%B0%8F%E7%8C%AA%E6%89%8B
// @author       ok!
// @match        https://www.nfmovies.com
// @match        https://www.nfmovies.com/list/*
// @match        https://www.nfmovies.com/video/*
// @match        https://www.nfmovies.com/search.php*
// @match        https://www.nfmovies.com/detail/*
// @match        https://www.nfmovies.com/gbook.php
// @grant        unsafeWindow
// @run-at       document-idle

// @namespace 
// ==/UserScript==

var sec_sub;
var wheel_sec;
var buffer_time;

function play_menu() {

    if(document.querySelectorAll("#header-top > div.container > div > ul.myui-header__user > li:nth-child(1) > div > div > div > p")){
	//播放设置菜单
    var li_new = document.createElement("li");
    li_new.innerHTML='<a title="设置"><i class="fa fa-gear"></i></a><div class="dropdown-box fadeInDown"><div class="item clearfix"><p class="text-muted">播放设置</p><div class="history-list clearfix"></div><span>当前速度:</span><span id="speed_display"></span><p>选择播放速度:&nbsp;&nbsp;<button id="speed_button" style="background-color: #5bb7fe;border-radius:5px;color:white;"> &nbsp;默认 1x&nbsp; </button></p><input type="range" min="1" max="100" value="25" class="slider" id="speed_slider"><p style="display: inline;white-space:nowrap;"><span>跳过片尾秒数:</span><input type="text" id="sec_sub" style="width:71px;height:22px;vertical-align: middle;margin: 5px 10px 5px 0;padding: 10px;background-color: #fff;border: 2px solid #ddd;" placeholder="空则不播"></p><p><span>鼠标滚动秒数:</span><input type="text" id="wheel_sec" style="width:71px;height:22px;vertical-align: middle;margin: 5px 10px 5px 0;padding: 10px;background-color: #fff;border: 2px solid #ddd;" placeholder="空则不动"></p><p><span>暂停缓存秒数:</span><input type="text" id="buffer_time" style="width:71px;height:22px;vertical-align: middle;margin: 5px 10px 5px 0;padding: 10px;background-color: #fff;border: 2px solid #ddd;" placeholder="空则600"></p></div></div>';
    li_new.classList.add('dropdown-hover');
    document.querySelector("#header-top > div.container > div > ul.myui-header__user").appendChild(li_new);


	//删除选定历史播放记录
    var p_add = document.querySelectorAll("#header-top > div.container > div > ul.myui-header__user > li:nth-child(1) > div > div > div > p");

    for(var i = 0;i<p_add.length;i++){
        var a_elem = document.createElement("a");

        a_elem.innerHTML= '<span style="background-color: #5bb7fe;border-radius:5px;font-size:70%;"> &nbsp;-删 除-&nbsp;&nbsp </span>';
        p_add[i].appendChild(a_elem);
        p_add[i].lastChild.addEventListener('click',change_cookie)};

    function change_cookie(e){
        var str_del = e.target.parentElement.parentElement.firstElementChild.title;
        console.log(str_del);
        var reg_exp =new RegExp(`{\"name\":\"${str_del}[^}]*},?`);
        var xyza= encodeURIComponent(decodeURIComponent(document.cookie.replace(/(?:(?:^|.*;\s*)history\s*\=\s*([^;]*).*$)|^.*$/, "$1")).replace(reg_exp,''));
        var exp = new Date();
        exp.setTime(exp.getTime() + 365 * 24 * 60 * 60 * 1000);
        document.cookie=`history=${xyza}; path=/; expires=${exp.toUTCString()}`;
        e.target.parentElement.parentElement.remove();
    }



	//播放设置
    var speed_display=document.getElementById("speed_display"),speed_slider=document.getElementById("speed_slider"),speed_button=document.getElementById("speed_button"),y=document.getElementById("sec_sub"),z=document.getElementById("wheel_sec"),x=document.getElementById("buffer_time");
    var video_speed;

    video_speed = MyTheme.Cookie.Get('speed');sec_sub = MyTheme.Cookie.Get('sec_sub');wheel_sec = MyTheme.Cookie.Get('wheel_sec');buffer_time = MyTheme.Cookie.Get('buffer_time');
    video_speed?speed_display.innerHTML=video_speed+"x":speed_display.innerHTML="1x";

    setTimeout(function (){if(video_speed)
        document.querySelector('iframe').contentDocument.body.querySelector("#video > div.dplayer-video-wrap > video").playbackRate = video_speed;},4000);


    speed_slider.oninput=function(){MyTheme.Cookie.Set('speed',this.value/25);video_speed = MyTheme.Cookie.Get('speed');video_speed?speed_display.innerHTML=video_speed+"x":speed_display.innerHTML="1x";
                                    document.querySelector('iframe').contentDocument.body.querySelector("#video > div.dplayer-video-wrap > video").playbackRate = video_speed;
                                   }

    speed_button.onclick=function(){MyTheme.Cookie.Set('speed',1);video_speed = MyTheme.Cookie.Get('speed');video_speed?speed_display.innerHTML=video_speed+"x":speed_display.innerHTML="1x";
                                    document.querySelector('iframe').contentDocument.body.querySelector("#video > div.dplayer-video-wrap > video").playbackRate = video_speed;}

    sec_sub?y.value=sec_sub:y.value="";
        y.onchange=function(){MyTheme.Cookie.Set('sec_sub',this.value);sec_sub = MyTheme.Cookie.Get('sec_sub');sec_sub?y.value=sec_sub:y.value="";
                             }

        wheel_sec?z.value=wheel_sec:z.value="";
        z.onchange=function(){MyTheme.Cookie.Set('wheel_sec',this.value);wheel_sec = MyTheme.Cookie.Get('wheel_sec');wheel_sec?z.value=wheel_sec:z.value="";
                         }
        buffer_time?x.value=buffer_time:x.value="";
        x.onchange=function(){MyTheme.Cookie.Set('buffer_time',this.value);buffer_time = MyTheme.Cookie.Get('buffer_time');buffer_time?x.value=buffer_time:x.value="";
                             }

    }

}

window.onload = play_menu;


//iframe
if(document.querySelector('iframe#cciframe')){
    document.querySelector('iframe#cciframe').onload=function (){

        sec_sub = MyTheme.Cookie.Get('sec_sub');
        wheel_sec=MyTheme.Cookie.Get('wheel_sec');
        buffer_time=MyTheme.Cookie.Get('buffer_time');

        var video_speed = MyTheme.Cookie.Get('speed');

        var video_elem;
        //视频自动全屏

        var fullscreen_req = setInterval(function () {
            video_elem = document.querySelector('#cciframe').contentDocument.body.querySelector("#video > div.dplayer-video-wrap > video");
            var v_elem =document.querySelector('#cciframe').contentDocument.body.querySelector('div#video');
            if (v_elem.webkitRequestFullScreen) {
                v_elem.webkitRequestFullScreen();main_opr();clearInterval(fullscreen_req);
            }
            else if (v_elem.requestFullscreen) {
                v_elem.requestFullscreen();main_opr();clearInterval(fullscreen_req);
            }
            else if (v_elem.mozRequestFullScreen) {
                v_elem.mozRequestFullScreen();main_opr();clearInterval(fullscreen_req);
            }
            else{clearInterval(fullscreen_req);}
        },5000);

        //主应用操作
        function main_opr() {
            if(video_speed&&video_elem){video_elem.playbackRate = video_speed;}

            var current_time,current_timeM;
            document.querySelector('#cciframe').contentDocument.body.querySelector("#video > div.dplayer-video-wrap > video").onpause = function(){
                buffer_time=MyTheme.Cookie.Get('buffer_time');
                current_time = video_elem.currentTime;
                current_timeM=current_time>=3600?(Math.floor(current_time/3600)+" : "+Math.floor(current_time/60-60)+" : "+Math.floor(current_time%60)):(Math.floor(current_time/60)+" : "+Math.floor(current_time%60));
                document.querySelector('#cciframe').contentDocument.body.querySelector("#video > div.dplayer-info-panel.dplayer-info-panel-hide").className='dplayer-info-panel dplayer-info-panel-show';
                document.querySelector('#cciframe').contentDocument.body.querySelector("#video > div.dplayer-info-panel div.dplayer-info-panel-item.dplayer-info-panel-item-resolution > span.dplayer-info-panel-item-data").innerHTML = `${document.querySelector('#cciframe').contentDocument.body.querySelector("#video > div.dplayer-video-wrap > video").videoWidth}x${document.querySelector('#cciframe').contentDocument.body.querySelector("#video > div.dplayer-video-wrap > video").videoHeight}`;
                document.querySelector('#cciframe').contentDocument.body.querySelector("#video > div.dplayer-info-panel div.dplayer-info-panel-item.dplayer-info-panel-item-version > span.dplayer-info-panel-item-data").innerHTML = `DPlayer v1.25.0 fdcf45b`;
                document.querySelector('#cciframe').contentDocument.body.querySelector("#video > div.dplayer-info-panel div.dplayer-info-panel-item.dplayer-info-panel-item-duration > span.dplayer-info-panel-item-title").innerHTML = '当前暂停时间';
                document.querySelector('#cciframe').contentDocument.body.querySelector("#video > div.dplayer-info-panel div.dplayer-info-panel-item.dplayer-info-panel-item-duration > span.dplayer-info-panel-item-data").innerHTML = `${current_timeM}`;
                video_elem.oncanplaythrough = function(){
                    video_elem.currentTime +=0.8;
                    if(video_elem.currentTime-current_time>(buffer_time?buffer_time:600)){video_elem.currentTime = current_time;
                                                                video_elem.oncanplaythrough='';}
                }
            }
            document.querySelector('#cciframe').contentDocument.body.querySelector("#video > div.dplayer-video-wrap > video").onplay = function(){
                video_elem.currentTime = current_time;
                document.querySelector('#cciframe').contentDocument.body.querySelector("#video > div.dplayer-info-panel.dplayer-info-panel-show").className='dplayer-info-panel dplayer-info-panel-hide';
                document.querySelector('#cciframe').contentDocument.body.querySelector("#video > div.dplayer-info-panel div.dplayer-info-panel-item.dplayer-info-panel-item-resolution > span.dplayer-info-panel-item-data").innerHTML="";
                document.querySelector('#cciframe').contentDocument.body.querySelector("#video > div.dplayer-video-wrap > video").oncanplaythrough = "";
            }
            // 在视频框内按键ctrl或鼠标右键,直接跳到下一集
            document.querySelector('#cciframe').contentDocument.body.addEventListener("keydown", function(e) {
                if (e.keyCode == 17) {
                    e.preventDefault();
                    next_exec();
                }
            }, false);
            document.querySelector('#cciframe').contentDocument.body.querySelector('#video').addEventListener("contextmenu", function(e) {
                e.preventDefault();
                next_exec();
            }, false);

            // 滚轮前进后退
            var caught_you=document.querySelector('iframe').contentDocument.body.querySelector("#video");


            caught_you.onwheel = wheel_e;

            function wheel_e (event) {
                event.preventDefault();

                //console.log(event.deltaY);
                // event.deltaY = Math.min(Math.max(.125,event.deltaY), 4);
                //console.log(wheel_sec);
                video_elem.currentTime += (event.deltaY>0?wheel_sec/1:-wheel_sec) ;

                caught_you.onwheel="";
                setTimeout(function(){caught_you.onwheel= wheel_e;},1200);

            }

            // 去右上角logo
            if(document.querySelector('iframe').contentDocument.body.querySelector("#video > div.dplayer-video-wrap > div.dplayer-logo"))
            {document.querySelector('iframe').contentDocument.body.querySelector("#video > div.dplayer-video-wrap > div.dplayer-logo").innerHTML="";
            }
            //
           


        }


        //每隔25秒获取播放剩余时间,如在25秒内则执行主程序

        if(sec_sub !== ""){
            const sec_sub2=sec_sub/1+12;
            var auto_play = setInterval(function(){if((get_dura() < sec_sub2) && (get_dura() !== 0)){next_part();clearInterval(auto_play);}}, 15000);
        }
        //next_part();
        function next_part() {
            const sel_part1 = document.querySelector('div.tab-content.mb10 div[class*="active"] ul li[class$="active"] + li a');
            if (sel_part1 != null) {
                const sec = (get_dura()-sec_sub)*1000;
                // console.log(typeof sec);
                // console.log(sec);
                if (sec !== 0) {
                    setTimeout(next_exec, sec);
                }
            }
        }

        //next part 执行
        function next_exec(){
            if(next === now){
                const sel_part2 = document.querySelector('div.tab-content.mb10 div[class*="active"] ul li[class$="active"] + li +li a');
            if (sel_part2 != null)
            {sel_part2.click();}
        }
            else if(next !== ""){now = next;
                 const iframe_fresh2 = document.querySelector('iframe');
                 iframe_fresh2.src = iframe_fresh2.src;

                }
        }
        //获取播放剩余时间
        function get_dura() {
            const sel_start = document.querySelector('#cciframe').contentDocument.body.querySelector("#video > div.dplayer-video-wrap > video").currentTime;
            const sel_fin = document.querySelector('#cciframe').contentDocument.body.querySelector("#video > div.dplayer-video-wrap > video").duration;
            if (sel_fin !== null) {
                return sel_fin-sel_start;
        }
            return 0;
        }
    }
}

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址