奈菲影视小猪手

全自动播放下集。页面右上角添加按钮以保存用户设置,可设置播放速度,可设置跳过片尾时间,时间置空则不自动播放,其他设置内容可能以后加。可在视频框内鼠标右击视频或按ctrl键,直接跳下集,鼠标滚轮前进后退8秒一格。去除影响画面的右上角logo。默认5秒后视频自动全屏,时间可调(火狐需新标签打开about:config页面,搜索full-screen-api.allow-trusted-requests-only 把其属性点击设置为false,才可自动全屏)

当前为 2020-05-26 提交的版本,查看 最新版本

// ==UserScript==
// @name         奈菲影视小猪手
// @namespace
// @version      2.0.3
// @description  全自动播放下集。页面右上角添加按钮以保存用户设置,可设置播放速度,可设置跳过片尾时间,时间置空则不自动播放,其他设置内容可能以后加。可在视频框内鼠标右击视频或按ctrl键,直接跳下集,鼠标滚轮前进后退8秒一格。去除影响画面的右上角logo。默认5秒后视频自动全屏,时间可调(火狐需新标签打开about:config页面,搜索full-screen-api.allow-trusted-requests-only 把其属性点击设置为false,才可自动全屏)
// @author       ok!
// @match        https://www.nfmovies.com/*
// @grant        unsafeWindow
// @run-at       document-idle

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

var sec_sub;


function play_menu() {
	//播放设置菜单
    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></div></div>';
li_new.classList.add('dropdown-hover');
document.querySelector('html body.active header#header-top.myui-header__top.clearfix.color.top-fixed.headroom--top.headroom--not-bottom div.container div.row ul.myui-header__user').appendChild(li_new);


	//删除选定历史播放记录
    var p_add = document.querySelectorAll('div.container div.row ul.myui-header__user li.dropdown-hover div.dropdown-box.fadeInDown div.item.clearfix div.history-list.clearfix 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");
    var video_speed;

    video_speed = MyTheme.Cookie.Get('speed');sec_sub = MyTheme.Cookie.Get('sec_sub');
    video_speed?speed_display.innerHTML=video_speed+"x":speed_display.innerHTML="1x";
    setTimeout(function (){if(video_speed)
        document.querySelector('iframe').contentDocument.body.querySelector('div#video div.dplayer-video-wrap video.dplayer-video.dplayer-video-current').playbackRate = video_speed;},4000);

    sec_sub?y.value=sec_sub:y.value="";

    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('div#video div.dplayer-video-wrap video.dplayer-video.dplayer-video-current').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('div#video div.dplayer-video-wrap video.dplayer-video.dplayer-video-current').playbackRate = video_speed;}

    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="";
                         }



}

window.onload = play_menu;
//错就错
document.querySelector('iframe').onload=function (){

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


    var video_speed = MyTheme.Cookie.Get('speed');
    setTimeout(function (){if(video_speed)
        document.querySelector('iframe').contentDocument.body.querySelector('div#video div.dplayer-video-wrap video.dplayer-video.dplayer-video-current').playbackRate = video_speed;},3000);

    //视频自动全屏前,等待时间5(5000毫秒)秒,不能高于5秒
    var sec_fullscreen = 5000;



    setTimeout(function () {

        const elem =document.querySelector('iframe').contentDocument.body.querySelector('div#video');
        if (elem.webkitRequestFullScreen) {
            elem.webkitRequestFullScreen();
        }
        else if (elem.requestFullscreen) {
            elem.requestFullscreen();
        }
        else if (elem.mozRequestFullScreen) {
            elem.mozRequestFullScreen();
        } },sec_fullscreen);

    // 在视频框内按键ctrl或鼠标右键,直接跳到下一集
    setTimeout(function () {
        document.querySelector('iframe').contentDocument.body.addEventListener("keydown", function(e) {
            if (e.keyCode == 17) {
                e.preventDefault();
                next_exec();
            }
        }, false);
        document.querySelector('iframe').contentDocument.body.querySelector('div#video').addEventListener("contextmenu", function(e) {
            e.preventDefault();
            next_exec();
        }, false);


        // 滚轮前进后退一格8秒
        var caught_you=document.querySelector('iframe').contentDocument.body.querySelector('div#video div.dplayer-video-wrap video.dplayer-video.dplayer-video-current');
        caught_you.onwheel=function (event) {
            event.preventDefault();
            event.deltaY = Math.min(Math.max(.125,event. deltaY), 4);
            if (event.deltaY < 0) {
                //前滚
                caught_you.currentTime += event.deltaY/50 ;
            }
            else {
                //后滚
                caught_you.currentTime += event.deltaY/50 ;
            }

        }
    },5000);

    // 12秒后去右上角logo
    setTimeout(function () {
        const logo_remov = document.querySelector('iframe').contentDocument.body.querySelector("#video > div.dplayer-video-wrap > div.dplayer-logo > img");
        if(logo_remov != null)logo_remov.src="";

    }, 12000);

        /*
       setTimeout(function () {
        var play = document.querySelector('iframe').contentWindow.play;
        play.logo = "";
        document.querySelector('iframe').contentWindow.vfed.player.dplayer(play.auto, play.live, play.trys, play.seek, play.take, play.urls, play.jump, play.logo, play.pics);


    }, 8000);
    */


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

    if(sec_sub !== ""){
    const sec_sub2=sec_sub+25;
    setInterval(function(){if(get_dura() < sec_sub2 && get_dura() !== 0){next_part()};}, 25000);
}
    //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(function (){
                    if(next === now){
                        const sel_part3 = document.querySelector('div.tab-content.mb10 div[class*="active"] ul li[class$="active"] + li +li a');
                        if (sel_part3 != null)
                        {sel_part3.click();}
                    }
                    else{now = next;
                         const iframe_fresh = document.querySelector('iframe');
                         iframe_fresh.src = iframe_fresh.src;
                         // vfed.player.eplayer(play.auto, play.live, play.trys, play.seek, play.take, next, play.jump, play.logo, play.pics);
                        }
                }, 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{now = next;
             const iframe_fresh2 = document.querySelector('iframe');
             iframe_fresh2.src = iframe_fresh2.src;
             // vfed.player.eplayer(play.auto, play.live, play.trys, play.seek, play.take, next, play.jump, play.logo, play.pics);
            }
    }
    //获取播放剩余时间
    function get_dura() {
        const sel_start = document.querySelector('iframe').contentDocument.body.querySelector('div.dplayer-icons.dplayer-icons-left span[class="dplayer-time"] span[class="dplayer-ptime"]');
        const sel_fin = document.querySelector('iframe').contentDocument.body.querySelector('div.dplayer-icons.dplayer-icons-left span[class="dplayer-time"] span[class="dplayer-dtime"]');

        if (sel_start !== null) {
            const str_start_time = sel_start.textContent;
            const arr_start_time = str_start_time.split(":");
            let secS = 0;
            for (let i = arr_start_time.length - 1, t = 1; i >= 0; i--, t *= 60) {
                secS += arr_start_time[i] * t;
            }

            const str_fin_time = sel_fin.textContent;
            const arr_fin_time = str_fin_time.split(":");
            let secF = 0;
            for (let j = arr_fin_time.length - 1, y = 1; j >= 0; j--, y *= 60) {
                secF += arr_fin_time[j] * y;
            }
            return secF-secS;
        }
        return 0;
    }
}

QingJ © 2025

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