Greasy Fork

Greasy Fork is available in English.

杀佛观音·腾讯视频频道页面剧集记录匹配

兼容电脑、手机、平板;兼容iOS快捷指令;兼容任意支持脚本扩展的浏览器;兼容TM篡改猴、VM暴力猴、GM油猴插件。通过频道页面快速判断剧集是否更新,更新可快速观看,省去通过书签或眼力寻找,节省时间,效率至上。搭配“杀佛观音·全网VIP视频破解免费看·全网最全非VIP视频去广告·极简版”使用体验更佳。

当前为 2021-09-10 提交的版本,查看 最新版本

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name                杀佛观音·腾讯视频频道页面剧集记录匹配
// @name:zh             杀佛观音·腾讯视频频道页面剧集记录匹配
// @name:zh-CN          杀佛观音·腾讯视频频道页面剧集记录匹配
// @name:zh-TW          殺佛觀音·騰訊視頻頻道頁面劇集記錄匹配
// @namespace           杀佛观音
// @version             0.2.0
// @description         兼容电脑、手机、平板;兼容iOS快捷指令;兼容任意支持脚本扩展的浏览器;兼容TM篡改猴、VM暴力猴、GM油猴插件。通过频道页面快速判断剧集是否更新,更新可快速观看,省去通过书签或眼力寻找,节省时间,效率至上。搭配“杀佛观音·全网VIP视频破解免费看·全网最全非VIP视频去广告·极简版”使用体验更佳。
// @description:zh      兼容电脑、手机、平板;兼容iOS快捷指令;兼容任意支持脚本扩展的浏览器;兼容TM篡改猴、VM暴力猴、GM油猴插件。通过频道页面快速判断剧集是否更新,更新可快速观看,省去通过书签或眼力寻找,节省时间,效率至上。搭配“杀佛观音·全网VIP视频破解免费看·全网最全非VIP视频去广告·极简版”使用体验更佳。
// @description:zh-CN   兼容电脑、手机、平板;兼容iOS快捷指令;兼容任意支持脚本扩展的浏览器;兼容TM篡改猴、VM暴力猴、GM油猴插件。通过频道页面快速判断剧集是否更新,更新可快速观看,省去通过书签或眼力寻找,节省时间,效率至上。搭配“杀佛观音·全网VIP视频破解免费看·全网最全非VIP视频去广告·极简版”使用体验更佳。
// @description:zh-TW   兼容電腦、手機、平板;兼容iOS快捷指令;兼容任意支持腳本擴展的瀏覽器;兼容TM篡改猴、VM暴力猴、GM油猴插件。通過頻道頁面快速判斷劇集是否更新,更新可快速觀看,省去通過書簽或眼力尋找,節省時間,效率至上。搭配“殺佛觀音·全網VIP視訊破解免費看·全網最全非VIP視訊去廣告·極簡版”使用體驗更佳。
// @author              杀佛观音
// @copyright           2021 杀佛观音
// @license             End-User License Agreement
// @contributionURL     bitcoin:1H3DMkWAdJMUpkstdYZmHpiV7RAFjjC4WH
// @contributionAmount  0.0000066 BTC
// @match               *://v.qq.com/channel/*?listpage*
// ==/UserScript==

(() => {
    'use strict';

    //最终用户许可协议 End-User License Agreement
    // * Copyright (c) 2021 杀佛观音. All Rights Reserved.
    // * Proprietary and Confidential.
    // * Written by 杀佛观音 [SWFtSmVob3ZhaDxhdD50dXRhbm90YS5jb20=(base64)], July 2021.
    // * It is never ok to copy and paste code from an open
    //   source project directly into your proprietary code.
    //   Don't do it.
    // * Re-distribution or adaptation in whole or in part of
    //   this script code by any means or in whatever form is
    //   strictly prohibited.
    // * 该项目介绍、说明书、脚本代码、思路及其他相关
    //   内容版权归作者所有,未经作者本人书面授权,禁
    //   止任何单位或个人以任何形式、任何手段或通过任
    //   何方式(净室工程、手工、图片、电子、机械、磁
    //   性、化学、光学、声学或其它方式)抄袭、摘编、
    //   编辑、修改、结集、出版、再版、转录、转载、爬
    //   虫爬取、重制、仿制、复制、复写、复印、影印、
    //   拷贝、刻录、建立镜像、粘贴、张贴、派发、录音、
    //   用来创建派生作品、与其它任何资料进行合并、翻
    //   译成任何电脑语言或以其他任何方式用于商业或公
    //   共目的。
    // * 该项目仅仅准许您善意的使用,其他任何行为都是
    //   禁止的。

    //搭配“杀佛观音·全网VIP视频解析·极简版”使用体验更佳。
    //http://greasyfork.icu/zh-CN/users/792030

    //使用前或更新后进入下方脚本下载地址熟读信息,捐赠后视为正版,未捐赠视为盗版,好评后视为正版^_^
    //http://greasyfork.icu/zh-CN/scripts/429154

    //一旦修改源码,插件脚本检查更新可能会被取消,请手动进入上方脚本下载地址更新脚本
    //加载剧集页数,每页30个
    let KillBuddha_page = 20;
    //每次看完剧集都需要手动更新此列表,格式为“剧集名|集数|备注”,剧集名需与页面完全相同(包括剧集名中间可能存在的空格),且剧集名前后不带空格。
    //及时备份此列表至记事本,脚本更新后列表会丢失。
    //您可在设置内关闭脚本检查更新,以防止列表被移除,请手动更新脚本。
    let KillBuddha_record =
`
斗罗大陆|166|
西行纪|50|
入间同学入魔了|34|第二季
斗破苍穹 第4季|19|
完美世界|16|
月光下的异世界之旅|03|
`;

    if(!window.location.href.match(/^https?:\/\/v.qq.com\/channel\/.+?listpage.+/i)){
        return;
    }
    (() => {
        return new Promise(resolve => {
            let intervalID = setInterval(() => {
                if((document.head || document.documentElement) && document.getElementsByTagName('img').length >= 30){
                    clearInterval(intervalID);
                    resolve();
                }
            }, 500);
        });
    })().then(() => {
        return new Promise(resolve => {
            let intervalID = setInterval(() => {
                window.scrollTo(0,document.body.scrollHeight);
                if(document.getElementsByTagName('img').length >= 30*KillBuddha_page+100){
                    clearInterval(intervalID);
                    window.scrollTo(0,0);
                    resolve();
                }
            }, 50);
        });
    }).then(() => {
        return new Promise(resolve => {
            let KillBuddha_record_arr = KillBuddha_record.split(/[(\r\n)\r\n]+/);
            let KillBuddha_episode_list = [];
            KillBuddha_record_arr.forEach(i => {
                if(i.split('|').length === 3){
                    let str = i.split('|')[0];
                    let num = i.split('|')[1];
                    Array.from(document.getElementsByTagName('img')).forEach(img => {
                        if(img.alt && img.alt === str){
                            if(img.nextElementSibling && img.nextElementSibling.innerHTML && img.nextElementSibling.innerHTML.match(/\d{1,}/)[0] !== void 0){
                                let over = !1;
                                if(img.nextElementSibling.innerHTML.slice(0,1) === '全'){
                                    over = !0;
                                }
                                if(img.nextElementSibling.innerHTML.match(/\d{1,}/)[0] !== num){
                                    KillBuddha_episode_list.push({name:str,old_num:num,new_num:img.nextElementSibling.innerHTML.match(/\d{1,}/)[0],object:img.parentElement,over:over});
                                }else if(img.nextElementSibling.innerHTML.match(/\d{1,}/)[0] === num && over){
                                    KillBuddha_episode_list.push({name:str,old_num:num,new_num:img.nextElementSibling.innerHTML.match(/\d{1,}/)[0],object:img.parentElement,over:over});
                                }
                            }
                        }
                    });
                }
            });
            if(KillBuddha_episode_list.length !== 0){
                resolve(KillBuddha_episode_list);
            }
        });
    }).then(KillBuddha_episode_list => {
        (css => {
            let style = document.createElement('style');
            style.textContent = css;
            let dom = document.head || document.documentElement;
            dom.appendChild(style);
        })(`.KillBuddha_div{z-index:99999999999999;position:fixed;width:30%;height:40%;left:35%;top:30%;;background-color:#FFFFFF;box-shadow:rgba(15, 66, 76, 0.25) 0px 0px 8px 3px;border-radius:15px;overflow:hidden;background-size:100% 100%;}
            .KillBuddha_div_son{height:100%;overflow:auto;scrollbar-width:thin;}
            .KillBuddha_div_son::-webkit-scrollbar{width:7px;height:7px;}
            .KillBuddha_div_son::-webkit-scrollbar-thumb{background-color:rgba(255,255,255,.6);-webkit-box-shadow:none;}
            .KillBuddha_div_son::-webkit-scrollbar-track{background-color:rgba(0,0,0,.2);-webkit-box-shadow:none;}
            .KillBuddha_div_son::-o-scrollbar{width:7px;height:7px;}
            .KillBuddha_div_son::-o-scrollbar-thumb{background-color:rgba(255,255,255,.6);-webkit-box-shadow:none;}
            .KillBuddha_div_son::-o-scrollbar-track{background-color:rgba(0,0,0,.2);-webkit-box-shadow:none;}
            .KillBuddha_button{position:fixed;color:#000000;border:none;font-size:15px;}
            .KillBuddha_button_close{background-color:#FFFFFF;border-top-left-radius:15px;border-bottom-left-radius:8px;border-bottom-right-radius:15px;border-top-right-radius:8px;float:left;box-shadow:0px 0px 8px 3px;}
            .KillBuddha_div_title{color:#000000;font-size:22px;text-align:center;}
            a:hover {color:#2828FF}
            .KillBuddha_div_elem{color:#000000;font-size:22px;text-align:center;cursor:pointer;}
        `);
        let KillBuddha_div = document.createElement('div');
        KillBuddha_div.className = 'KillBuddha_div';
        KillBuddha_div.onmouseover = KillBuddha_div.onfocus = () => {
            KillBuddha_div.style['box-shadow'] = '0px 0px 8px 3px';
        };
        KillBuddha_div.onmouseleave = KillBuddha_div.onblur = () => {
            KillBuddha_div.style['box-shadow'] = 'rgba(15, 66, 76, 0.25) 0px 0px 8px 3px';
        };
        let KillBuddha_div_son = document.createElement('div');
        KillBuddha_div_son.className = 'KillBuddha_div_son';
        KillBuddha_div.appendChild(KillBuddha_div_son);
        document.documentElement.appendChild(KillBuddha_div);
        let div_ = document.createElement('div');
        div_.className = 'KillBuddha_button';
        let KillBuddha_button_close = document.createElement('button');
        KillBuddha_button_close.className = 'KillBuddha_button_close';
        KillBuddha_button_close.innerHTML = '  X  ';
        KillBuddha_button_close.onclick = () => {
            document.getElementsByClassName('KillBuddha_div')[0].style.display='none';
        };
        KillBuddha_button_close.onmouseover = KillBuddha_button_close.onfocus = () => {
            KillBuddha_button_close.style['box-shadow'] = 'rgba(15, 66, 76, 0.25) 0px 0px 8px 3px';
        };
        KillBuddha_button_close.onmouseleave = KillBuddha_button_close.onblur = () => {
            KillBuddha_button_close.style['box-shadow'] = '0px 0px 8px 3px';
        };
        div_.appendChild(KillBuddha_button_close);
        KillBuddha_div_son.appendChild(div_);
        let KillBuddha_appendChild = (div,tag,className,innerHTML,isTitle,episodeElem) =>{
            let elem = document.createElement(tag);
            if(className){elem.className = className;}
            if(innerHTML){elem.innerHTML = innerHTML;}
            if(!isTitle){
                elem.onmouseover = elem.onfocus = () => {
                    elem.style['background-color'] = '#DCDCDC';
                };
                elem.onmouseleave = elem.onblur = () => {
                    elem.style['background-color'] = '#FFFFFF';
                };
                elem.onclick = () => {
                    episodeElem.click();
                };
            }
            div.appendChild(elem);
        }
        KillBuddha_appendChild(KillBuddha_div_son,'br');
        KillBuddha_appendChild(KillBuddha_div_son,'div','KillBuddha_div_title','<a href=\'http://greasyfork.icu/zh-CN/users/792030\'>杀佛观音</a>·<a href=\'http://greasyfork.icu/zh-CN/scripts/429154\'>腾讯视频频道页面剧集记录匹配</a>·更新列表',!0);
        KillBuddha_appendChild(KillBuddha_div_son,'br');
        KillBuddha_appendChild(KillBuddha_div_son,'hr');
        KillBuddha_episode_list.forEach(episode => {
            let innerHTML = episode.name+' '+episode.old_num+'→'+episode.new_num;
            if(episode.over){
                innerHTML += ' 已完结';
            }
            KillBuddha_appendChild(KillBuddha_div_son,'div','KillBuddha_div_elem',innerHTML,!1,episode.object);
            KillBuddha_appendChild(KillBuddha_div_son,'hr');
        });
    });
    if (typeof(completion) === 'function' && completion.toString().indexOf('ExtensionPreprocessingJS') > -1) {
        completion();
    }
})();