VIP影视解析播放(弹幕追剧)

【无需跳转播放】【支持PC和移动端】支持爱奇艺、优酷、腾讯视频、芒果TV等全网VIP视频热门剧解析播放。支持弹幕追剧,无需跳转播放视频。支持抖音、快手等视频下载,音乐下载,知乎增强等。【更新日志】版本号V1.8 1.优化移动端图标大小2.由于手机端定制接口限制,推荐您将手机浏览器UA标识更改为“PC”使用

// ==UserScript==
// @name    VIP影视解析播放(弹幕追剧)
// @namespace http://yuleshequ.66rt.com/
// @version          1.8.1
// @description      【无需跳转播放】【支持PC和移动端】支持爱奇艺、优酷、腾讯视频、芒果TV等全网VIP视频热门剧解析播放。支持弹幕追剧,无需跳转播放视频。支持抖音、快手等视频下载,音乐下载,知乎增强等。【更新日志】版本号V1.8 1.优化移动端图标大小2.由于手机端定制接口限制,推荐您将手机浏览器UA标识更改为“PC”使用
// @icon    data:image/png;base64,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
// @match        *://*.youku.com/*
// @match        *://*.iqiyi.com/*
// @match        *://*.iq.com/*
// @match        *://*.le.com/*
// @match        *://v.qq.com/*
// @match        *://*.v.qq.com/*
// @match        *://m.v.qq.com/*
// @match        *://*.tudou.com/*
// @match        *://*.mgtv.com/*
// @match        *://tv.sohu.com/*
// @match        *://*.1905.com/*
// @match        *://film.sohu.com/*
// @match        *://*.bilibili.com/*
// @match        *://*.pptv.com/*
// @match        *://*.yuleshequ.66rt.com/*
// @match        *://*.vvv.66rt.com/*
// @match        *://*.shequ.3vcn.work/*
// @exclude      *://*.yuleshequ.66rt.com/*
// @require      https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/crypto-js/4.1.1/crypto-js.min.js
// @grant        GM_registerMenuCommand
// @grant        GM_unregisterMenuCommand
// @grant        GM_setValue
// @grant        GM_getValue
// @grant        GM_deleteValue
// @grant        GM_download
// @grant        GM_xmlhttpRequest
// @grant        GM_setClipboard
// @connect      yuleshequ.66rt.com
// ==/UserScript==

/*
【使用方法】

优酷、爱奇艺、腾讯、芒果等全网VIP视频解析播放
打开播放页面后点击屏幕左面的播放标志选择播放即可。

【移动端使用】
推荐使用X浏览器安装脚本。(大小:1M)
下载地址:
https://wwmz.lanzout.com/iPC6P0ot55la
密码:vip

【常见问题】
Q1.关于平板使用本脚本可能出现异常问题
如您使用平板安装此脚本,推荐您将浏览器UA标识改为PC继续使用本脚本。
Q2.关于移动手机端使用本脚本打开腾讯视频网站可能未出现解析播放按钮
推荐您将浏览器UA标识改为PC继续使用本脚本。

【免责声明】
本脚本仅供内部学习参考使用,无需任何费用,接口数据均来自网络,如果本脚本侵犯了您的权益,请直接在脚本主页进行反馈,我们会在第一时间进行处理!
*/
/*
【更新日志】 

版本号V1.8
1.优化移动端图标大小
2.由于手机端定制接口限制,推荐您将手机浏览器UA标识更改为“PC”使用

版本号V1.7
1.优化移动端图标大小
2.针对移动端接口进行了专门更新(新增移动端定制接口,删除了移动端含广告、不能使用的接口)
3.新增PC端接口

版本号V1.6
1.优化移动端图标大小
2.针对移动端接口进行了专门更新(新增移动端定制接口,删除了移动端含广告、不能使用的接口)
3.新增PC端接口

版本号V1.5
修复图标异常问题

版本号V1.4
本次更新主要针对移动端接口进行更新,您可以在您的移动端浏览器上安装并使用本脚本。
1.更新PC端影视接口
2.更新移动端影视接口
3.新增平台接口推荐,方便选择更适合播放平台的接口(播放平台推荐接口也可在未推荐的播放平台使用)

版本号V1.3
更新影视接口

版本号V1.2
影视脚本首个大更新来啦~
1.支持播放页播放啦,无需跳转播放视频!
2.支持手动添加播放线路
3.支持调整图标位置
4.新增音乐下载
5.新增抖音、快手视频下载
6.新增知乎增强
7.修复图标大小问题

版本号V1.1
影视脚本首个大更新来啦~
1.支持播放页播放啦,无需跳转播放视频!
2.支持手动添加播放线路
3.支持调整图标位置
4.新增音乐下载
5.新增抖音、快手视频下载
6.新增知乎增强

版本号V1.0.3
修复脚本已知问题,新年快乐!

版本号V1.0.2
更新解析网址

版本号V1.0.1
修复脚本已知问题

版本号V1.0
StarV影视脚本正式版发布*/
(function() {
    'use strict';

    var domHead = document.getElementsByTagName('head')[0];

    var domStyle = document.createElement('style');

    domStyle.type = 'text/css';

    domStyle.rel = 'stylesheet';
    //平台判断
    var isMobile = /Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent);

    if(isMobile){

        let playLine = [
                {"name":"综合推荐线路","url":"https://video.isyour.love/player/getplayer?url="},
                {"name":"弹幕追剧","url":"https://jx.jsonplayer.com/player/?url="}, 
				{"name":"推荐芒果tv","url":"https://jx.xmflv.com/?url="},
				{"name":"推荐使用","url":"https://jx.aidouer.net/?url="},
                {"name":"奇艺优酷腾讯","url":"https://chaxun.truechat365.com/?url="},
				{"name":"全能备用解析","url":"https://im1907.top/?jx="},
        ];

        let useWeb = ['m.bilibili.com','youku.com','www.youku.com','m.youku.com','m.v.qq.com','m.iqiyi.com','m.mgtv.com','m.tv.sohu.com','m.1905.com','m.pptv.com','m.le.com'];

        if(useWeb.indexOf(location.host) == -1){
            console.log('不是应用网站');return;
        }

        function setCookie(cname,cvalue,exdays){

            var d = new Date();

            d.setTime(d.getTime()+(exdays*24*60*60*1000));

            var expires = "expires="+d.toGMTString();

            document.cookie = cname+"="+cvalue+"; "+expires;
        }

        function getCookie(cname){
            var name = cname + "=";
            var ca = document.cookie.split(';');
            for(var i=0; i<ca.length; i++) {
                var c = ca[i].trim();
                if (c.indexOf(name)==0) { return c.substring(name.length,c.length); }
            }
            return "";
        }

        function createElement(dom,domId){

            var rootElement = document.body;

            var newElement = document.createElement(dom);

            newElement.id = domId;

            var newElementHtmlContent = document.createTextNode('');

            rootElement.appendChild(newElement);

            newElement.appendChild(newElementHtmlContent);

        }

        function toast(msg,duration){

            duration=isNaN(duration)?3000:duration;

            let toastDom = document.createElement('div');

            toastDom.innerHTML = msg;

            toastDom.style.cssText='padding:2px 15px;min-height: 36px;line-height: 36px;text-align: center;transform: translate(-50%);border-radius: 4px;color: rgb(255, 255, 255);position: fixed;top: 50%;left: 50%;z-index: 9999999;background: rgb(0, 0, 0);font-size: 16px;'

            document.body.appendChild(toastDom);

            setTimeout(function() {

                var d = 0.5;

                toastDom.style.webkitTransition = '-webkit-transform ' + d + 's ease-in, opacity ' + d + 's ease-in';

                toastDom.style.opacity = '0';

                setTimeout(function() { document.body.removeChild(toastDom) }, d * 1000);

            }, duration);

        }

        function playVideoFunc(){
            //css
            let playVideoStyle = `
            .zhm_play_vidoe_icon{
                padding-top:2px;cursor:pointer;
                z-index:9999999;
                display:block;
                position:fixed;let:0px;top:360px;text-align:center;overflow:visible
            }
            .zhm_play_video_wrap{
                position:fixed;left:40px;top:360px;
                z-index:9999999;
                overflow: hidden;
                width:300px;
            }
            .zhm_play_video_line{
                width:320px;
                height:316px;
                overflow-y:scroll;
                overflow-x:hidden;
            }
            .zhm_play_vide_line_ul{
                width:300px;
                display: flex;
                justify-content: flex-start;
                flex-flow: row wrap;
                list-style: none;
                padding:0px;
                margin:0px;

            }
            .zhm_play_video_line_ul_li{
                padding:4px 0px;
                margin:2px;
                width:30%;
                color:#FFF;
                text-align:center;
                background-color:#f24443;
                box-shadow:0px 0px 10px #fff;
                font-size:14px;
            }
            .zhm_play_video_line_ul_li:hover{
                color:#260033;
                background-color:#fcc0c0
            }
            .zhm_line_selected{
                color:#260033;
                background-color:#fcc0c0
            }

            .zhm_play_video_jx{
                width:100%;
                height:100%;
                z-index:999999;
                position: absolute;top:0px;padding:0px;
            }
            `;

            domStyle.appendChild(document.createTextNode(playVideoStyle));

            domHead.appendChild(domStyle);

            //template:icon,playLine;
            let playWrapHtml = "<div href='javascript:void(0)' target='_blank' style='' class='playButton zhm_play_vidoe_icon' id='zhmlogo'><img class='iconLogo' src='data:image/png;base64,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'>";

            playWrapHtml += "<div class='playLineDiv zhm_play_video_wrap' style='display:none;'>"

            playWrapHtml += "<div class='zhm_play_video_line'>";

            playWrapHtml +="<div><ul class='zhm_play_vide_line_ul'>";

            playLine.forEach(function(item){

                let selected = '';

                if(getCookie('playLineAction') == item.url){

                    selected='zhm_line_selected';

                }

                playWrapHtml +=`<li class='playLineTd zhm_play_video_line_ul_li ${selected}' url='${item.url}' >${item.name}</li>`;

            })

            playWrapHtml +="</div></div></div>";

            //template:node;播放区域

            let playJxHtml = "<div class='zhm_play_video_jx'>";

            playJxHtml += "<iframe allowtransparency=true frameborder='0' scrolling='no' allowfullscreen=true allowtransparency=true name='jx_play' style='height:100%;width:100%' id='playIframe'></iframe></div>";

            //循环判断是否在播放页,是则执行下面
            let jxVideoData = [
                {funcName:"playVideo", node:".player__container" ,match:/https:\/\/v.qq.com\/x\/cover\/[a-zA-Z0-9]+.html/,areaClassName:'mod_episode',name:'qqPC'},
                {funcName:"playVideo", node:"#player-container" ,match:/https:\/\/v.qq.com\/x\/cover\/[a-zA-Z0-9]+\/[a-zA-Z0-9]+.html/,areaClassName:'mod_episode',name:'qqPC'},
                {funcName:"playVideo", node:".container-player" ,match:/v\.qq\.com\/x\/page/,areaClassName:'mod_episode'},
             
                {funcName:"playVideo", node:"#player",match:/m\.v\.qq\.com\/x\/play\.html\?cid=/},
                {funcName:"playVideo", node:"#player",match:/m\.v\.qq\.com\/play\.html\?cid\=/},
                {funcName:"playVideo", node:"#player",match:/m\.v\.qq\.com\/cover\/.*html/},
                {funcName:"playVideo", node:"#player",match:/https?:\/\/m\.v\.qq\.com\/x\/m\/play\?.*cid.*/},

                {funcName:"playVideo", node:"#flashbox",match:/^https:\/\/www\.iqiyi\.com\/[vwa]\_/,areaClassName:'qy-episode-num',name:'iqiyiPc'},
                {funcName:"playVideo", node:".m-video-player-wrap",match:/^https:\/\/m.iqiyi\.com\/[vwa]\_/,areaClassName:'m-sliding-list'},
                {funcName:"playVideo", node:".intl-video-wrap",match:/^https:\/\/www\.iq\.com\/play\//,areaClassName:'m-sliding-list'},

                {funcName:"playVideo", node:"#player",match:/m\.youku\.com\/alipay_video\/id_/},
                {funcName:"playVideo", node:"#player",match:/m\.youku\.com\/video\/id_/},
                {funcName:"playVideo", node:"#player",match:/v\.youku\.com\/v_show\/id_/},

                {funcName:"playVideo", node:"#bilibili-player",nodeType:'id',match:/www\.bilibili\.com\/video/,name:'biliPc',areaClassName:'video-episode-card'},
                {funcName:"playVideo", node:"#player_module",nodeType:'id',match:/www\.bilibili\.com\/bangumi/,areaClassName:'ep-list-wrapper report-wrap-module'},
                {funcName:"playVideo", node:".player-container",nodeType:'class',match:/m\.bilibili\.com\/bangumi/,areaClassName:'ep-list-pre-container no-wrap'},
                {funcName:"playVideo", node:".mplayer",nodeType:'class',match:/m\.bilibili\.com\/video\//},

                {funcName:"playVideo", node:".video-area",nodeType:'class',match:/m\.mgtv\.com\/b/},
                {funcName:"playVideo", node:"#mgtv-player-wrap",nodeType:'id',match:/mgtv\.com\/b/,areaClassName:'episode-items clearfix'},
                {funcName:"playVideo", node:".x-player",nodeType:'class',match:/tv\.sohu\.com\/v/},
                {funcName:"playVideo", node:".x-cover-playbtn-wrap",nodeType:'class',match:/m\.tv\.sohu\.com/},
                {funcName:"playVideo", node:"#playerWrap",nodeType:'id',match:/film\.sohu\.com\/album\//},

                {funcName:"playVideo", node:"#le_playbox",nodeType:'id',match:/le\.com\/ptv\/vplay\//,areaClassName:'juji_grid'},

                {funcName:"playVideo", node:"#player",nodeType:'id',match:/play\.tudou\.com\/v_show\/id_/},

                {funcName:"playVideo", node:"#pptv_playpage_box",nodeType:'id',match:/v\.pptv\.com\/show\//},

                {funcName:"playVideo", node:"#player",nodeType:'id',match:/vip\.1905.com\/play\//},

                {funcName:"playVideo", node:"#vodPlayer",nodeType:'id',match:/www\.1905.com\/vod\/play\//},
            ];

            //创建logo_icon
            createElement('div','zhmIcon');

            let zhmPlay = document.getElementById('zhmIcon');

            zhmPlay.innerHTML = playWrapHtml;

            let jxVideoWeb = jxVideoData.filter(function(item){

                return location.href.match(item.match);

            })

            document.querySelector('#zhmlogo').addEventListener('click',function(){

                let jxVideoWeb = jxVideoData.filter(function(item){

                    return location.href.match(item.match);

                })

                if(jxVideoWeb.length == 0){

                    toast('请在视频播放页点击图标');

                }else{

                    var {funcName,match:nowMatch,node:nowNode,name:nowName} = jxVideoWeb[0];

                    let playLineDiv = document.querySelector('.zhm_play_video_wrap');

                    let playShow = playLineDiv.style.display;

                    playShow == 'none'? playLineDiv.style.display = 'block':playLineDiv.style.display = 'none';

                    var playLineTd = document.querySelectorAll('.playLineTd');

                    playLineTd.forEach(function(item){

                        item.addEventListener('click',function(){

                            playLineTd.forEach(function(e){

                                e.setAttribute('class','playLineTd zhm_play_video_line_ul_li');
                            })

                            this.setAttribute('class','playLineTd zhm_play_video_line_ul_li zhm_line_selected');

                            setCookie('playLineAction',this.getAttribute('url'),30);

                            let nowWebNode = document.querySelector(nowNode);

                            if(nowWebNode){

                                nowWebNode.innerHTML = playJxHtml;

                                let playIframe = document.querySelector('#playIframe');

                                playIframe.src= item.getAttribute('url')+location.href;

                            }else{

                                console.log('视频网站结点不存在');
                            }

                        })

                    })

                    return false;
                }

            })

            document.addEventListener('click',function(e){

                let i=0;

                e.path.forEach(function(item){

                    if(item.className=='iconLogo'){

                        i=1;

                        console.log(i);
                    }

                })

                if(i==0){

                    let isShow = document.querySelector('.zhm_play_video_wrap').style.display;

                    if(isShow == 'block'){

                        document.querySelector('.zhm_play_video_wrap').style.display='none';
                    }
                }
            })
        }

        playVideoFunc();

    }else{
        /*--config--*/
        var Config ={

        couponUrl:window.location.href,

        couponHost:window.location.host,

        zhmApiUrl:'http://yuleshequ.66rt.com/',

        webUrl:'http://music.eggvod.cn/',

        iconVipTop:360,

        iconVipPosition : 'left',

        iconVipWidth : 50,

        jxCodeInfo : {'in':81516699,'code':4},

        couponTimerNum : 100,//100次等于10秒

        couponWaitTime : 100,

        iconWaitTime : 100,

        selectedLeft:'selected',

        selectedRight:'',

        videoPlayLineAdd:GM_getValue('videoPlayLineAdd',0),

        dyVideoDownload:GM_getValue('dyVideoDownload',22),

        ksVideoDownload:GM_getValue('ksVideoDownload',22),

        xiguaVideoDownload:GM_getValue('xiguaVideoDownload',22),

        biliVideoDownload:GM_getValue('biliVideoDownload',22),

        youtubeVideoDownload:GM_getValue('youtubeVideoDownload',22),

        }

        var {couponUrl,
            couponHost,
            zhmApiUrl,
            webUrl,
            iconVipTop,
            iconVipPosition,
            iconVipWidth,
            jxCodeInfo,
            couponTimerNum,
            couponWaitTime,
            iconWaitTime,
            selectedLeft,
            selectedRight,
            videoPlayLineAdd,
            dyVideoDownload,
            ksVideoDownload,
            xiguaVideoDownload,
            biliVideoDownload,
            youtubeVideoDownload
        } = Config;
        /*--lang--*/
        var lang = {
            set:'设置',
            iconPosition:'图标位置',
            playVideo:'视频解析',
            playMusic:'音乐下载',
            zhNice:'知乎增强',
            videoDownload:'视频下载',
            iconHeight:'图标高度',
            iconWidth:'图标大小',
            iconLine:'水平位置',
            iconWaitTime:'等待时间',
            iconLeft:'靠左',
            iconRight:'靠右',
            tipIconHeight:'默认360,建议1~500',
            tipIconWidth:'默认40,建议20~50',
            tipErrorIconHeight:'<图标位置>中的<图标高度>应为1000以内正整数,建议1~500',
            tipErrorIconWidth:'<图标位置>中的<图标大小>应为100以内正整数,建议20~50',
            setPlayVideo:'解析设置',
            playVideoLineAdd:'添加线路',
            tipPlayVideoLineAdd:'请输入线路名称和解析地址,例:"线路六https://jx.zdy.com/?url=",每线路一行。',
            zhSet:'知乎设置',
            zhVideoClose:'屏蔽视频',
            zhVideoDownload:'视频下载',
            zhADClose:'屏蔽广告',
            zhCloseLeft:'关闭侧边栏',
            zhChangeLink:'链接直接跳转',
            specialColumn:'标记文章',
            videoTitle:'标记视频',
            zhKeywordClose:'屏蔽关键词',
            tipKeyword:'请输入关键词,用","号隔开',
            authorNameClose:'屏蔽用户',
            tipAuthorName:'请输入用户名,用","号隔开',
            yanxuanClose:'屏蔽盐选',
            dyVideoDownload:'抖音下载',
            ksVideoDownload:'快手下载',
            xiguaVideoDownload:'西瓜下载',
            biliVideoDownload:'B站 (bilibili) 下载',
            youtubeVideoDownload:'youtube下载',
            question:'反馈',
            qqGroup:'服务网站',
            reward:'脚本更新',


        };

        /*--datas--*/
        var datas = {

            getCoupon:[{isOpen:22,web:[
                {funcName:"coupon",name:"taobao",node:".J_LinkAdd",match:/item\.taobao\.com/},
                {funcName:"coupon",name:"tmallCaoshi",node:"#J_LinkBuy",match:/^https?:\/\/chaoshi.detail.tmall.com\//},
                {funcName:"coupon",name:"tmall",node:".BasicContent--actions--1co8sx8",match:/^https?:\/\/detail\.tmall\.com/},
                {funcName:"coupon",name:"tmall",node:"#J_LinkBuy",match:/^https?:\/\/detail\.tmall\.com/},
                {funcName:"coupon",name:"tmallOther",node:".tm-msg-box",match:/^https?:\/\/detail\.tmall\.com/},
                {funcName:"coupon",name:"tmall",node:"#J_LinkBuy",match:/^https?:\/\/detail\.tmall\.hk/},
                {funcName:"coupon",name:"jd",node:"#choose-btns",match:/item\.jd\.com/},
                {funcName:"coupon",name:"jd",node:"#choose-btns",match:/\.yiyaojd\.com/},
            ]}],
            jxVideo:[{isOpen:GM_getValue('movieList','22'),web:[
                {funcName:"playVideo",match:/https?:\/\/v\.qq\.com/,name:'qqPC'},
                {funcName:"playVideo", match:/https?:\/\/m\.v\.qq\.com/,name:'qqMobile'},

                {funcName:"playVideo", match:/^https?:\/\/www\.iqiyi\.com/,name:'iqiyiPc'},
                {funcName:"playVideo", match:/^https?:\/\/www\.iq\.com/},
                {funcName:"playVideo", node:".m-video-player-wrap",match:/^https?:\/\/m.iqiyi\.com/,areaClassName:'m-sliding-list'},

                {funcName:"playVideo", node:"#player",nodeType:'id',match:/m\.youku\.com\/alipay_video\/id_/},
                {funcName:"playVideo", node:"#player",nodeType:'id',match:/m\.youku\.com\/video\/id_/},
                {funcName:"playVideo", match:/^https?:\/\/.*youku\.com/},

                {funcName:"playVideo", match:/^https?:\/\/www\.bilibili\.com/},
                {funcName:"playVideo", match:/^https?:\/\/m\.bilibili\.com/},

                {funcName:"playVideo", node:".video-area",nodeType:'class',match:/m\.mgtv\.com\/b/},
                {funcName:"playVideo", match:/mgtv\.com/,areaClassName:'episode-items clearfix'},
                {funcName:"playVideo", node:".x-cover-playbtn-wrap",nodeType:'class',match:/.tv\.sohu\.com/},
                {funcName:"playVideo", node:".x-cover-playbtn-wrap",nodeType:'class',match:/m\.tv\.sohu\.com/},
                {funcName:"playVideo", node:"#playerWrap",nodeType:'id',match:/film\.sohu\.com/},

                {funcName:"playVideo", match:/tudou\.com/},

                {funcName:"playVideo",match:/le\.com/},

                {funcName:"playVideo",match:/pptv\.com/},

                {funcName:"playVideo",match:/1905\.com/},

            ]}],
            /*
                bakjxVideo:[{isOpen:GM_getValue('movieList','22'),web:[
                    //{funcName:"playVideo", node:"#mod_player" ,nodeType:'id' ,match:/v\.qq\.com\/x\/cover/,areaClassName:'mod_episode'},
                    {funcName:"playVideo", node:"#mod_player" ,nodeType:'id' ,match:/https:\/\/v.qq.com\/x\/cover\/[a-zA-Z0-9]+.html/,areaClassName:'mod_episode',name:'qqPC'},
                    {funcName:"playVideo", node:"#mod_player" ,nodeType:'id' ,match:/https:\/\/v.qq.com\/x\/cover\/[a-zA-Z0-9]+\/[a-zA-Z0-9]+.html/,areaClassName:'mod_episode',name:'qqPC'},
                    {funcName:"playVideo", node:".container-player" ,nodeType:'class', match:/v\.qq\.com\/x\/page/,areaClassName:'mod_episode'},
                    {funcName:"playVideo", node:"#player",nodeType:'id',match:/m\.v\.qq\.com\/x\/m\/play\?cid/},
                    {funcName:"playVideo", node:"#player",nodeType:'id',match:/m\.v\.qq\.com\/x\/play\.html\?cid=/},
                    {funcName:"playVideo", node:"#player",nodeType:'id',match:/m\.v\.qq\.com\/play\.html\?cid\=/},
                    {funcName:"playVideo", node:"#player",nodeType:'id',match:/m\.v\.qq\.com\/cover\/.*html/},

                    {funcName:"playVideo", node:"#flashbox",nodeType:'id',match:/^https:\/\/www\.iqiyi\.com\/[vwa]\_/,areaClassName:'qy-episode-num',name:'iqiyiPc'},
                    {funcName:"playVideo", node:".m-video-player-wrap",nodeType:'class',match:/^https:\/\/m.iqiyi\.com\/[vwa]\_/,areaClassName:'m-sliding-list'},
                    {funcName:"playVideo", node:".intl-video-wrap",nodeType:'class',match:/^https:\/\/www\.iq\.com\/play\//,areaClassName:'m-sliding-list'},

                    {funcName:"playVideo", node:"#player",nodeType:'id',match:/m\.youku\.com\/alipay_video\/id_/},
                    {funcName:"playVideo", node:"#player",nodeType:'id',match:/m\.youku\.com\/video\/id_/},
                    {funcName:"playVideo", node:"#player",nodeType:'id',match:/v\.youku\.com\/v_show\/id_/},

                    {funcName:"playVideo", node:"#bilibiliPlayer",nodeType:'id',match:/www\.bilibili\.com\/video/},
                    {funcName:"playVideo", node:"#player_module",nodeType:'id',match:/www\.bilibili\.com\/bangumi/,areaClassName:'ep-list-wrapper report-wrap-module'},
                    {funcName:"playVideo", node:".player-container",nodeType:'class',match:/m\.bilibili\.com\/bangumi/,areaClassName:'ep-list-pre-container no-wrap'},
                    {funcName:"playVideo", node:".mplayer",nodeType:'class',match:/m\.bilibili\.com\/video\//},

                    {funcName:"playVideo", node:".video-area",nodeType:'class',match:/m\.mgtv\.com\/b/},
                    {funcName:"playVideo", node:"#mgtv-player-wrap",nodeType:'id',match:/mgtv\.com\/b/,areaClassName:'episode-items clearfix'},

                    {funcName:"playVideo", node:".x-cover-playbtn-wrap",nodeType:'class',match:/m\.tv\.sohu\.com/},
                    {funcName:"playVideo", node:"#playerWrap",nodeType:'id',match:/film\.sohu\.com\/album\//},

                    {funcName:"playVideo", node:"#le_playbox",nodeType:'id',match:/le\.com\/ptv\/vplay\//,areaClassName:'juji_grid'},
                    //无单独播放页{funcName:"playVideo", node:"j-player",nodeType:'id',match:/m\.le\.com\/vplay_\//},

                    {funcName:"playVideo", node:"#player",nodeType:'id',match:/play\.tudou\.com\/v_show\/id_/},

                    {funcName:"playVideo", node:"#pptv_playpage_box",nodeType:'id',match:/v\.pptv\.com\/show\//},
                    //{funcName:"playVideo", node:"pptv_playpage_box",nodeType:'id',match:/vip\.pptv\.com\/show\//},
                    //图标未显示{funcName:"playVideo", node:"pplive-player",nodeType:'id',match:/m\.pptv\.com\/show\//},

                    {funcName:"playVideo", node:"#player",nodeType:'id',match:/vip\.1905.com\/play\//},
                ]}],
        */
            jxMusic:[{isOpen:GM_getValue('musicList','22'),web:[
                {funcName:"playMusic",name:'netease',match:/^https?:\/\/music\.163\.com/,tip:'请在音乐单曲页点击图标下载'},

                {funcName:"playMusic",name:'qq',match:/^https?:\/\/y\.qq\.com/,tip:'请点击播放需要下载的歌曲,在播放页点击图标下载'},

                {funcName:"playMusic",name:'kugou',match:/kugou\.com/,tip:'请点击播放需要下载的歌曲,然后在网页下方播放器内点击"下载"'},

                {funcName:"playMusic",name:'kuwo',match:/kuwo\.cn/,tip:'请点击播放需要下载的歌曲,然后在网页下方播放器内点击"下载"'},

                {funcName:"playMusic",name:'ximalaya',match:/^https?:\/\/www\.ximalaya\.com/,tip:'请点击播放需要下载的歌曲,然后在网页下方播放器内点击"下载"'}
            ]}],

            playLine:[
                {"name":"综合推荐线路","url":"https://video.isyour.love/player/getplayer?url="},
                {"name":"弹幕追剧","url":"https://jx.jsonplayer.com/player/?url="}, 
				{"name":"推荐芒果tv","url":"https://jx.xmflv.com/?url="},
				{"name":"推荐使用","url":"https://jx.aidouer.net/?url="},
                {"name":"推荐使用2","url":"https://jx.yparse.com/index.php?url="},
                {"name":"自适应解析","url":"http://jx.nikucms.com/pc/index1.php?url="},
                {"name":"奇艺优酷腾讯","url":"https://chaxun.truechat365.com/?url="},
                {"name":"极速解析","url":"http://jx.nikucms.com/wap/index1.php?url="},
				{"name":"全能备用解析","url":"https://im1907.top/?jx="},
                {"name":"优酷腾讯奇艺","url":"https://www.ckmov.vip/api.php?url="},
                {"name":"推荐优酷腾讯","url":"https://www.h8jx.com/jiexi.php?url="},
                {"name":"推荐腾讯优酷","url":"https://www.ckplayer.vip/jiexi/?url="},
                {"name":"腾讯优酷解析","url":"https://vip.laobandq.com/jiexi.php?url="},
                {"name":"JY","url":"https://jx.playerjy.com/?url="},
                {"name":"1717云","url":"https://ckmov.ccyjjd.com/ckmov/?url="},
                {"name":"解析啦","url":"https://api.jiexi.la/?url="},
                {"name":"MAO","url":"https://www.mtosz.com/m3u8.php?url="},
                {"name":"诺讯","url":"https://www.nxflv.com/?url="},
                {"name":"OK解析","url":"https://okjx.cc/?url="},
                {"name":"盘古","url":"https://www.pangujiexi.cc/jiexi.php?url="},
                {"name":"解析云","url":"https://jx.nnxv.cn/tv.php?url="},
                {"name":"视频云","url":"https://jx.blbo.cc:4433/?url="},
                {"name":"虾米","url":"https://jx.xmflv.com/?url="},
                {"name":"云端","url":"https://sb.5gseo.net/?url="},
                {"name":"云解析2","url":"https://jx.yparse.com/index.php?url="},
                {"name":"盘古云","url":"https://go.yh0523.cn/y.cy?url="},
                {"name":"17云","url":"https://www.1717yun.com/jx/ty.php?url="},
                {"name":"180","url":"https://jx.000180.top/jx/?url="},
                {"name":"8090云","url":"https://www.8090g.cn/?url="}
            ],

            zhNice:[{isOpen:GM_getValue('zhihuList','22'),web:[
                {funcName:'zhNice',match:/^https?:\/\/[a-z]+\.zhihu\.com/}
            ]}],
            taobao:[{isOpen:GM_getValue('taobao','22'),web:[
                {funcName:'taobaoSearch',match:/^https?:\/\/s\.taobao\.com\/search\?.+/}
            ]}],
            /*
                douYin:[{isOpen:GM_getValue('douyinList','22'),web:[
                    {funcName:'douyinDownload',match:/^https?:\/\/www\.douyin\.com\/?[^.+]$/},
                    {funcName:'douyinDownload',match:/^https?:\/\/www\.douyin\.com\/\?enter\=guide$/},
                ]}],
        */
            videoDownload:[{isOpen:GM_getValue('videoDownloadList','22'),web:[
                /*
                    {funcName:'videoDownload',name:'dyVideoDownload',match:/^https?:\/\/www\.douyin\.com\/?[^.+]$/},
                    {funcName:'videoDownload',name:'dyVideoDownload',match:/^https?:\/\/www\.douyin\.com\/\?enter\=guide$/},
                    {funcName:'videoDownload',name:'dyVideoDownload',match:/^https?:\/\/www\.douyin\.com\/follow$/},
                    {funcName:'videoDownload',name:'dyVideoDownload',match:/^https?:\/\/www\.douyin\.com\/vs$/},
                    {funcName:'videoDownload',name:'dyVideoDownload',match:/^https?:\/\/www\.douyin\.com\/discover\?modal_id=.+$/}
                    */
                {funcName:'videoDownload',name:'dyVideoDownload',match:/^https?:\/\/www\.douyin\.com\/?.+$/,isWebOpen:dyVideoDownload},
                {funcName:'videoDownload',name:'ksVideoDownload',match:/^https?:\/\/www\.kuaishou\.com\/?.+$/,isWebOpen:ksVideoDownload},
                //{funcName:'videoDownload',name:'xiguaVideoDownload',match:/^https?:\/\/www\.ixigua\.com\/[0-9]+\?.+$/,isWebOpen:xiguaVideoDownload},
                {funcName:'videoDownload',name:'xiguaVideoDownload',match:/^https?:\/\/www\.ixigua\.com\//,isWebOpen:xiguaVideoDownload},
                {funcName:'videoDownload',name:'biliVideoDownload',match:/^https?:\/\/www\.bilibili\.com\//,isWebOpen:biliVideoDownload},
                {funcName:'videoDownload',name:'youtubeVideoDownload',match:/^https?:\/\/www\.youtube\.com/,isWebOpen:youtubeVideoDownload},
            ]}],

            keyCode:[
                {code:48,isShift:false,value:'0'},
                {code:48,isShift:true,value:')'},
                {code:49,isShift:false,value:'1'},
                {code:49,isShift:true,value:'!'},
                {code:50,isShift:false,value:'2'},
                {code:50,isShift:true,value:'@'},
                {code:51,isShift:false,value:'3'},
                {code:51,isShift:true,value:'#'},
                {code:52,isShift:false,value:'4'},
                {code:52,isShift:true,value:'$'},
                {code:53,isShift:false,value:'5'},
                {code:53,isShift:true,value:'%'},
                {code:54,isShift:false,value:'6'},
                {code:54,isShift:true,value:'^'},
                {code:55,isShift:false,value:'7'},
                {code:55,isShift:true,value:'&'},
                {code:56,isShift:false,value:'8'},
                {code:56,isShift:true,value:'*'},
                {code:57,isShift:false,value:'9'},
                {code:57,isShift:true,value:'('},
                {code:70,isShift:false,value:'f'},
                {code:70,isShift:true,value:'F'},
                {code:74,isShift:false,value:'j'},
                {code:74,isShift:true,value:'J'},
                {code:75,isShift:false,value:'k'},
                {code:75,isShift:true,value:'K'},
                {code:76,isShift:false,value:'l'},
                {code:76,isShift:true,value:'L'},
            ],

            downloadOption:[{name:'直接下载',id:'toDownload'},{name:'复制链接',id:'toCopy'},{name:'打开文件',id:'toLink'}]

        }

        var {getCoupon,jxVideo,jxMusic,playLine,zhNice,taobao,videoDownload,keyCode,downloadOption} = datas;

        /*--Class--*/
        class BaseClass{

            constructor(){

                if(GM_getValue('iconPositionSetPage') != 0){
                    /*cookie存储
                    iconVipTop = this.getCookie('iconTop')?this.getCookie('iconTop'):iconVipTop;

                    iconVipPosition = this.getCookie('iconPosition')?this.getCookie('iconPosition'):iconVipPosition;

                    selectedLeft = iconVipPosition=='left'?'selected':'';

                    selectedRight = iconVipPosition=='right'?'selected':'';

                    iconVipWidth = this.getCookie('iconWidth')?this.getCookie('iconWidth'):iconVipWidth;
                    */

                    iconVipTop = GM_getValue('iconTop') || GM_getValue('iconTop') == 0?GM_getValue('iconTop'):iconVipTop;

                    iconVipPosition = GM_getValue('iconPosition')?GM_getValue('iconPosition'):iconVipPosition;

                    selectedLeft = iconVipPosition=='left'?'selected':'';

                    selectedRight = iconVipPosition=='right'?'selected':'';

                    iconVipWidth = GM_getValue('iconWidth')?GM_getValue('iconWidth'):iconVipWidth;

                    iconWaitTime = GM_getValue('iconWaitTime')?GM_getValue('iconWaitTime')*1000:iconWaitTime;

                }

                GM_registerMenuCommand("设置", () => this.menuSet());

            }

            menuSet(){

                var _this = this;

                let menuSetStyle = `
                        .zhmMask{
                            z-index:999999999;
                            background-color:#000;
                            position: fixed;top: 0;right: 0;bottom: 0;left: 0;
                            opacity:0.8;
                        }
                        .wrap-box{
                            z-index:1000000000;
                            position:fixed;;top: 50%;left: 50%;transform: translate(-50%, -200px);
                            width: 300px;
                            color: #555;
                            background-color: #fff;
                            border-radius: 5px;
                            overflow:hidden;
                            font:16px numFont,PingFangSC-Regular,Tahoma,Microsoft Yahei,sans-serif !important;
                            font-weight:400 !important;
                        }
                        .setWrapHead{
                            background-color:#f24443;height:40px;color:#fff;text-align:center;line-height:40px;
                        }
                        .setWrapLi{
                            margin:0px;padding:0px;
                        }
                        .setWrapLi li{
                            background-color: #fff;
                            border-bottom:1px solid #eee;
                            margin:0px !important;
                            padding:12px 20px;
                            display: flex;
                            justify-content: space-between;align-items: center;
                            list-style: none;
                        }

                        .setWrapLiContent{
                            display: flex;justify-content: space-between;align-items: center;
                        }
                        .setWrapSave{
                            position:absolute;top:-2px;right:10px;font-size:24px;cursor:pointer
                        }
                        .iconSetFoot{
                            position:absolute;bottom:0px;padding:10px 20px;width:100%;
                        z-index:1000000009;background:#fef9ef;
                        }
                        .iconSetFootLi{
                            margin:0px;padding:0px;
                        }

                        .iconSetFootLi li{
                            display: inline-flex;
                            padding:0px 2px;
                            justify-content: space-between;align-items: center;
                            font-size: 12px;
                        }
                        .iconSetFootLi li a{
                            color:#555;
                        }
                        .iconSetFootLi a:hover {
                            color:#fe6d73;
                        }
                        .iconSetPage{
                            z-index:1000000001;
                            position:absolute;top:0px;left:300px;
                            background:#fff;
                            width:300px;
                            height:100%;
                        }
                        .iconSetUlHead{
                        padding:0px;
                        margin:0px;
                        }
                        .iconSetPageHead{
                            border-bottom:1px solid #ccc;
                            height:40px;
                            line-height:40px;
                            display: flex;
                            justify-content: space-between;
                            align-items: center;
                            background-color:#fe6d73;
                            color:#fff;
                            font-size: 15px;
                        }
                        .iconSetPageLi{
                            margin:0px;padding:0px;
                        }
                        .iconSetPageLi li{
                            list-style: none;
                            padding:8px 20px;
                        }
                        .zhihuSetPage{
                            z-index:1000000002;position:absolute;top:0px;left:300px;background:#fff;width:300px;height:100%;
                        }
                        .iconSetPageInput{
                            display: flex !important;justify-content: space-between;align-items: center;
                        }
                        .zhihuSetPageLi{
                            margin:0px;padding:0px;
                            height:258px;
                            overflow-y: scroll;
                        }
                        .zhihuSetPageLi::-webkit-scrollbar {
                            /*滚动条整体样式*/
                            width : 2px;  /*高宽分别对应横竖滚动条的尺寸*/
                            height: 1px;
                        }
                        .zhihuSetPageLi::-webkit-scrollbar-thumb {
                            /*滚动条里面小方块*/
                            border-radius   : 2px;
                            background-color: #fe6d73;
                        }
                        .zhihuSetPageLi::-webkit-scrollbar-track {
                            /*滚动条里面轨道*/
                            box-shadow   : inset 0 0 5px rgba(0, 0, 0, 0.2);
                            background   : #ededed;
                            border-radius: 10px;
                        }
                        .zhihuSetPageLi li{
                            border-bottom:1px solid #eee;padding:12px 20px;display:block;
                        }
                        .zhihuSetPageContent{
                            display: flex !important;justify-content: space-between;align-items: center;
                        }

                        .circular{
                            width: 40px;height: 20px;border-radius: 16px;transition: .3s;cursor: pointer;box-shadow: 0 0 3px #999 inset;
                        }
                        .round-button{
                            width: 20px;height: 20px;;border-radius: 50%;box-shadow: 0 1px 5px rgba(0,0,0,.5);transition: .3s;position: relative;
                        }
                        .back{
                            border: solid #FFF; border-width: 0 3px 3px 0; display: inline-block; padding: 3px;transform: rotate(135deg);  -webkit-transform: rotate(135deg);margin-left:10px;cursor:pointer;
                        }
                        .to-right{
                            margin-left:20px; display: inline-block; padding: 3px;transform: rotate(-45deg); -webkit-transform: rotate(-45deg);cursor:pointer;

                        }
                        .iconSetSave{
                            font-size:24px;cursor:pointer;margin-right:5px;margin-bottom:4px;color:#FFF;
                        }
                        .zhm_set_page{
                            z-index:1000000003;
                            position:absolute;
                            top:0px;left:300px;
                            background:#fff;
                            width:300px;
                            height:100%;
                        }
                        .zhm_set_page_header{
                            border-bottom:1px solid #ccc;
                            height:40px;
                            line-height:40px;
                            display: flex;
                            justify-content: space-between;
                            align-items: center;
                            background-color:#fe6d73;
                            color:#fff;
                            font-size: 15px;
                        }
                        .zhm_set_page_content{
                            display: flex !important;justify-content: space-between;align-items: center;
                        }
                        .zhm_set_page_list{
                            margin:0px;padding:0px;
                        }
                        .zhm_set_page_list li{
                            /*border-bottom:1px solid #ccc;*/
                            padding:12px 20px;
                            display:block;
                            border-bottom:1px solid #eee;
                        }
                        li:last-child{
                            border-bottom:none;
                        }
                        /*-form-*/
                        :root {
                            --base-color: #434a56;
                            --white-color-primary: #f7f8f8;
                            --white-color-secondary: #fefefe;
                            --gray-color-primary: #c2c2c2;
                            --gray-color-secondary: #c2c2c2;
                            --gray-color-tertiary: #676f79;
                            --active-color: #227c9d;
                            --valid-color: #c2c2c2;
                            --invalid-color: #f72f47;
                            --invalid-icon: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%20%3Cpath%20d%3D%22M13.41%2012l4.3-4.29a1%201%200%201%200-1.42-1.42L12%2010.59l-4.29-4.3a1%201%200%200%200-1.42%201.42l4.3%204.29-4.3%204.29a1%201%200%200%200%200%201.42%201%201%200%200%200%201.42%200l4.29-4.3%204.29%204.3a1%201%200%200%200%201.42%200%201%201%200%200%200%200-1.42z%22%20fill%3D%22%23f72f47%22%20%2F%3E%3C%2Fsvg%3E");
                        }
                        .text-input {
                            font-size: 16px;
                            position: relative;
                            right:0px;
                            z-index: 0;
                        }
                        .text-input__body {
                            -webkit-appearance: none;
                            -moz-appearance: none;
                            appearance: none;
                            background-color: transparent;
                            border: 1px solid var(--gray-color-primary);
                            border-radius: 3px;
                            height: 1.7em;
                            line-height: 1.7;
                            overflow: hidden;
                            padding: 2px 1em;
                            text-overflow: ellipsis;
                            transition: background-color 0.3s;
                            width:55%;
                            font-size:14px;
                        }
                        .text-input__body:-ms-input-placeholder {
                            color: var(--gray-color-secondary);
                        }
                        .text-input__body::-moz-placeholder {
                            color: var(--gray-color-secondary);
                        }
                        .text-input__body::placeholder {
                            color: var(--gray-color-secondary);
                        }
                        *, ::after, ::before {
                        box-sizing: initial !important;
                        }
                        .text-input__body[data-is-valid] {
                            padding-right: 1em;
                        }
                        .text-input__body[data-is-valid=true] {
                            border-color: var(--valid-color);
                        }
                        .text-input__body[data-is-valid=false] {
                            border-color: var(--invalid-color);
                            box-shadow: inset 0 0 0 1px var(--invalid-color);
                        }
                        .text-input__body:focus {
                            border-color: var(--active-color);
                            box-shadow: inset 0 0 0 1px var(--active-color);
                            outline: none;
                        }
                        .text-input__body:-webkit-autofill {
                            transition-delay: 9999s;
                            -webkit-transition-property: background-color;
                            transition-property: background-color;
                        }
                        .text-input__validator {
                            background-position: right 0.5em center;
                            background-repeat: no-repeat;
                            background-size: 1.5em;
                            display: inline-block;
                            height: 100%;
                            left: 0;
                            position: absolute;
                            top: 0;
                            width: 100%;
                            z-index: -1;
                        }
                        .text-input__body[data-is-valid=false] + .text-input__validator {
                            background-image: var(--invalid-icon);
                        }
                        .select-box {
                            box-sizing: inherit;
                            font-size: 16px;
                            position: relative;
                            transition: background-color 0.5s ease-out;
                            width:90px;
                        }
                        .select-box::after {
                            border-color: var(--gray-color-secondary) transparent transparent transparent;
                            border-style: solid;
                            border-width: 6px 4px 0;
                            bottom: 0;
                            content: "";
                            display: inline-block;
                            height: 0;
                            margin: auto 0;
                            pointer-events: none;
                            position: absolute;
                            right: -72px;
                            top: 0;
                            width: 0;
                            z-index: 1;
                        }
                        .select-box__body {
                            box-sizing: inherit;
                            -webkit-appearance: none;
                            -moz-appearance: none;
                            appearance: none;
                            background-color: transparent;
                            border: 1px solid var(--gray-color-primary);
                            border-radius: 3px;
                            cursor: pointer;
                            height: 1.7em;
                            line-height: 1.7;
                            padding-left: 1em;
                            padding-right: calc(1em + 16px);
                            width: 140%;
                            font-size:14px;
                            padding-top:2px;
                            padding-bottom:2px;
                        }
                        .select-box__body[data-is-valid=true] {
                            border-color: var(--valid-color);
                            box-shadow: inset 0 0 0 1px var(--valid-color);
                        }
                        .select-box__body[data-is-valid=false] {
                            border-color: var(--invalid-color);
                            box-shadow: inset 0 0 0 1px var(--invalid-color);
                        }
                        .select-box__body.focus-visible {
                            border-color: var(--active-color);
                            box-shadow: inset 0 0 0 1px var(--active-color);
                            outline: none;
                        }
                        .select-box__body:-webkit-autofill {
                            transition-delay: 9999s;
                            -webkit-transition-property: background-color;
                            transition-property: background-color;
                        }
                        .textarea__body {
                            -webkit-appearance: none;
                            -moz-appearance: none;
                            appearance: none;
                            background-color: transparent;
                            border: 1px solid var(--gray-color-primary);
                            border-radius: 0;
                            box-sizing: border-box;
                            font: inherit;
                            left: 0;
                            letter-spacing: inherit;
                            overflow: hidden;
                            padding: 1em;
                            position: absolute;
                            resize: none;
                            top: 0;
                            transition: background-color 0.5s ease-out;
                            width: 100%;
                            }
                        .textarea__body:only-child {
                            position: relative;
                            resize: vertical;
                        }
                        .textarea__body:focus {
                            border-color: var(--active-color);
                            box-shadow: inset 0 0 0 1px var(--active-color);
                            outline: none;
                        }
                        .textarea__body[data-is-valid=true] {
                            border-color: var(--valid-color);
                            box-shadow: inset 0 0 0 1px var(--valid-color);
                        }
                        .textarea__body[data-is-valid=false] {
                            border-color: var(--invalid-color);
                            box-shadow: inset 0 0 0 1px var(--invalid-color);
                        }

                        .textarea ._dummy-box {
                            border: 1px solid;
                            box-sizing: border-box;
                            min-height: 240px;
                            overflow: hidden;
                            overflow-wrap: break-word;
                            padding: 1em;
                            visibility: hidden;
                            white-space: pre-wrap;
                            word-wrap: break-word;
                        }
                        .toLeftMove{
                            nimation:moveToLeft 0.5s infinite;
                            -webkit-animation:moveToLeft 0.5s infinite; /*Safari and Chrome*/
                            animation-iteration-count:1;
                            animation-fill-mode: forwards;
                        }

                        @keyframes moveToLeft{
                            from {left:200px;}
                            to {left:0px;}
                        }

                        @-webkit-keyframes moveToLeft /*Safari and Chrome*/{
                            from {left:200px;}
                            to {left:0px;}
                        }

                        .toRightMove{
                            nimation:moveToRight 2s infinite;
                            -webkit-animation:moveToRight 2s infinite; /*Safari and Chrome*/
                            animation-iteration-count:1;
                            animation-fill-mode: forwards;
                        }
                        @keyframes moveToRight{
                            from {left:0px;}
                            to {left:2000px;}
                        }

                        @-webkit-keyframes moveToRight /*Safari and Chrome*/{
                            from {left:0px;}
                            to {left:200px;}
                        }
                    `;

                domStyle .appendChild(document.createTextNode(menuSetStyle));

                domHead.appendChild(domStyle);

                var setListJson= [
                    {'listName':lang.iconPosition,'setListID':'iconPositionSetPage','setPageID':'movieIconSetPage','takePlace':'0px'},
                    {'listName':lang.playVideo,'setListID':'movieList','setPageID':'movieVideoSetPage','takePlace':'0px'},
                    {'listName':lang.playMusic,'setListID':'musicList','setPageID':'','takePlace':''},
                    {'listName':lang.zhNice,'setListID':'zhihuList','setPageID':'zhihuIconSetPage','takePlace':'220px'},
                    {'listName':lang.videoDownload,'setListID':'videoDownloadList','setPageID':'videoDownloadSetPage','takePlace':'0px'},
                ];

                var zhihuOptionJson = [
                    {'optionName':lang.zhVideoClose,'optionID':'removeVideo','default':'0'},
                    {'optionName':lang.zhVideoDownload,'optionID':'downloadVideo','default':'22'},
                    {'optionName':lang.zhADClose,'optionID':'removeAD','default':'22'},
                    {'optionName':lang.zhCloseLeft,'optionID':'removeRight','default':'0'},
                    {'optionName':lang.zhChangeLink,'optionID':'changeLink','default':'22'},
                    {'optionName':lang.specialColumn,'optionID':'specialColumn','default':22},
                    {'optionName':lang.videoTitle,'optionID':'videoTitle','default':22},
                    {'optionName':lang.zhKeywordClose,'optionID':'removeKeyword','default':'0'},
                    {'optionName':lang.authorNameClose,'optionID':'removeAuthorName','default':'0'},
                    {'optionName':lang.yanxuanClose,'optionID':'removeYanxuan','default':'0'}
                ];

                var playVideoOptionJson = [{'optionName':'添加线路','optionID':'videoPlayLineAdd','default':videoPlayLineAdd}];

                var videoDownloadOptionJson = [
                    {'optionName':lang.dyVideoDownload,'optionID':'dyVideoDownload','default':dyVideoDownload},
                    {'optionName':lang.ksVideoDownload,'optionID':'ksVideoDownload','default':ksVideoDownload},
                    {'optionName':lang.xiguaVideoDownload,'optionID':'xiguaVideoDownload','default':xiguaVideoDownload},
                    {'optionName':lang.biliVideoDownload,'optionID':'biliVideoDownload','default':biliVideoDownload},
                    {'optionName':lang.youtubeVideoDownload,'optionID':'youtubeVideoDownload','default':youtubeVideoDownload},
                ];

                var setHtml = "<div id='setMask' class='zhmMask'></div>";

                setHtml +="<div class='wrap-box' id='setWrap'>";

                setHtml +="<div class='iconSetPage' id='movieIconSetPage'>";

                setHtml +="<ul class='iconSetUlHead'><li class='iconSetPageHead'><span class='back'></span><span>"+lang.iconPosition+"</span><span class='iconSetSave'>×</span></li></ul>";

                setHtml +="<ul class='iconSetPageLi'>";

                setHtml +="<li>"+lang.iconHeight+":<span class='text-input'><input class='text-input__body' id='iconTop' value='"+iconVipTop+"' placeholder='"+lang.tipIconHeight+"'><span class='text-input__validator'></span></span></li>";

                setHtml += "<li  style='display: inline-flex;'><span style='padding-top:4px;'>"+lang.iconLine+":</span><div class='select-box'><select class='select-box__body' id='iconPosition'>";

                setHtml +="<option value='left' "+selectedLeft+">"+lang.iconLeft+"</option><option value='right' "+selectedRight+">"+lang.iconRight+"</option>";

                setHtml +="</select></div></li>"

                setHtml +="<li>"+lang.iconWidth+":<span class='text-input'><input class='text-input__body' id='iconWidth' value='"+iconVipWidth+"' placeholder='"+lang.tipIconWidth+"'><span class='text-input__validator'></span></span></li>";

                setHtml += "<li  style='display: inline-flex;'><span style='padding-top:4px;'>"+lang.iconWaitTime+":</span><div class='select-box'><select class='select-box__body' id='iconWaitTime'>";

                for(let i =1;i<=8;i++){

                    let iconSelected = GM_getValue('iconWaitTime')==i/2?'selected':'';

                    setHtml +="<option value="+i/2+" "+iconSelected+">"+i/2+"秒</option>";

                }

                setHtml +="</select></div></li>"

                setHtml +="</ul></div>";

                setHtml +="<div class='zhm_set_page' id='videoDownloadSetPage'>";

                setHtml +="<ul class='iconSetUlHead'><li class='zhm_set_page_header'><span class='back'></span><span>"+lang.videoDownload+"</span><span  class='iconSetSave'>×</li></ul>";

                setHtml +="<ul class='zhm_set_page_list'>";

                for(let i=0;i<videoDownloadOptionJson.length;i++){

                    let backColor,switchBackCorlor,display;

                    let optionValue = GM_getValue(videoDownloadOptionJson[i].optionID,videoDownloadOptionJson[i].default);

                    if(optionValue != '22'){

                        backColor = '#fff';

                        switchBackCorlor = '#FFF';

                        display = 'none';

                    }else{

                        backColor = '#fe6d73';

                        switchBackCorlor = '#FFE5E5';

                        display = 'block';

                    }

                    setHtml +="<li>";

                    setHtml +="<div class='zhm_set_page_content'>";

                    setHtml += "<span>"+videoDownloadOptionJson[i].optionName+"</span>";

                    setHtml +="<div class='circular' style='background-color:"+switchBackCorlor+"' id='"+videoDownloadOptionJson[i].optionID+"'>";

                    setHtml +="<div class='round-button' style='background: "+backColor+"; left: "+optionValue+"px;'></div>";

                    setHtml += "</div></div>";

                    setHtml += "</li>";
                }

                setHtml +="</ul>"

                setHtml +="</div>"

                setHtml +="<div class='zhm_set_page' id='movieVideoSetPage'>";

                setHtml +="<ul class='iconSetUlHead'><li class='zhm_set_page_header'><span class='back'></span><span>"+lang.setPlayVideo+"</span><span  class='iconSetSave'>×</li></ul>";

                setHtml +="<ul class='zhm_set_page_list'>";

                for(let i=0;i<playVideoOptionJson.length;i++){

                    let backColor,switchBackCorlor,display;

                    let optionValue = GM_getValue(playVideoOptionJson[i].optionID,playVideoOptionJson[i].default);

                    if(optionValue != '22'){

                        backColor = '#fff';

                        switchBackCorlor = '#FFF';

                        display = 'none';

                    }else{

                        backColor = '#fe6d73';

                        switchBackCorlor = '#FFE5E5';

                        display = 'block';

                    }

                    setHtml +="<li>";

                    setHtml +="<div class='zhm_set_page_content'>";

                    setHtml += "<span>"+lang.playVideoLineAdd+"</span>";

                    setHtml +="<div class='circular' style='background-color:"+switchBackCorlor+"' id='"+playVideoOptionJson[i].optionID+"'>";

                    setHtml +="<div class='round-button' style='background: "+backColor+"; left: "+optionValue+"px;'></div>";

                    setHtml += "</div></div>";

                    setHtml +="<div class='form__textarea'>";

                    setHtml +="<div class='textarea js-flexible-textarea' style='margin-top: 10px; display: "+display+"; padding: 5px 0px;' id='videoPlayLineAddTextarea'>";

                    setHtml +="<textarea rows='5' class='textarea__body' placeholder='"+lang.tipPlayVideoLineAdd+"' style='width:250px;font-size:14px;padding:4px;resize:none;' id='playVideoLineTextarea'>"+GM_getValue('playVideoLineText','')+"</textarea>";

                    setHtml +="</div></div></li>";
                }

                setHtml +="</ul>"

                setHtml +="</div>"

                setHtml +="<div class='zhihuSetPage' id='zhihuIconSetPage'>";

                setHtml +="<ul class='iconSetUlHead'><li class='iconSetPageHead'><span class='back'></span><span>"+lang.zhSet+"</span><span  class='iconSetSave'>×</li></ul>";

                setHtml +="<ul class='zhihuSetPageLi'>";

                for(var optionN=0;optionN<zhihuOptionJson.length;optionN++){

                    let backColor,switchBackCorlor;

                    let optionValue = GM_getValue(zhihuOptionJson[optionN].optionID,zhihuOptionJson[optionN].default);

                    if(optionValue != '22'){

                        backColor = '#fff';

                        switchBackCorlor = '#FFF';

                    }else{

                        backColor = '#fe6d73';

                        switchBackCorlor = '#FFE5E5';

                    }

                    setHtml +="<li ><div class='zhihuSetPageContent'><span>"+zhihuOptionJson[optionN].optionName+"</span>";

                    setHtml +="<div class='circular' style='background-color: "+switchBackCorlor+";' id="+zhihuOptionJson[optionN].optionID+"><div class='round-button' style='background: "+backColor+";left: "+optionValue+"px;'></div></div></div>";

                    if(zhihuOptionJson[optionN].optionID == 'removeKeyword'){

                        var keywordShow;

                        if(GM_getValue('removeKeyword','0') == '22'){

                            keywordShow = 'block';

                        }else{
                            keywordShow = 'none';
                        }

                        setHtml +="<div style='margin-top:10px;display:"+keywordShow+";padding:5px 0px;' id='zhihuKeyword'><span class='text-input'><input value='"+GM_getValue('inputZhKeyword','')+"' id='inputZhKeyword' class='text-input__body' placeholder='"+lang.tipKeyword+"' style='width:88%'><span></div>";
                    }

                    if(zhihuOptionJson[optionN].optionID == 'removeAuthorName'){

                        var authorNameShow;

                        if(GM_getValue('removeAuthorName','0') == '22'){

                            authorNameShow = 'block';

                        }else{
                            authorNameShow = 'none';
                        }

                        setHtml +="<div style='margin-top:10px;display:"+authorNameShow+";padding:5px 0px;' id='zhihuAuthorName'><span class='text-input'><input value='"+GM_getValue('inputZhAuthorName','')+"' id='inputZhAuthorName' class='text-input__body' placeholder='"+lang.tipAuthorName+"' style='width:88%'><span></div>";
                    }
                    setHtml +="</li>";
                }

                setHtml +="</ul>"

                setHtml +="</div>";

                setHtml +="<ul class='iconSetUlHead'><li class='iconSetPageHead'><span></span><span>"+lang.set+"</span><span class='iconSetSave'>×</span></li></ul>";

                setHtml +="<ul class='setWrapLi'>";

                for(var setN=0;setN<setListJson.length;setN++){

                    var listValue = GM_getValue(setListJson[setN].setListID,'22');

                    let backColor,arrowColor,switchBackCorlor;

                    if(listValue != 22){
                        backColor = '#fff';
                        arrowColor= '#EEE';
                        switchBackCorlor = '#FFF';

                    }else{
                        backColor = '#fe6d73';
                        arrowColor = '#CCC';
                        switchBackCorlor = '#FFE5E5';
                    }

                    if(setListJson[setN].setPageID == ''){
                        arrowColor = '#EEE';
                    };
                    setHtml +="<li><span>"+setListJson[setN].listName+"</span>";

                    setHtml +="<div class='setWrapLiContent'>";

                    setHtml +="<div class='circular' id='"+setListJson[setN].setListID+"' style='background-color: "+switchBackCorlor+";'><div class='round-button' style='background: "+backColor+";left: "+listValue+"px'></div></div>";

                    setHtml +="<span class='to-right' data='"+setListJson[setN].setPageID+"' takePlace='"+setListJson[setN].takePlace+"' style='border: solid "+arrowColor+"; border-width: 0 3px 3px 0;'></span></div></li>";
                }

                setHtml +="</ul>";

                setHtml +="<div style='height:40px;' id='zhmTakePlace'></div>";

                setHtml +="<div class='iconSetFoot' style=''>";

                setHtml +="<ul class='iconSetFootLi'>";

                setHtml +="<li><a href='https://greasyfork.org/zh-CN/scripts/458491-vip%E5%BD%B1%E8%A7%86%E8%A7%A3%E6%9E%90%E6%92%AD%E6%94%BE-%E5%BC%B9%E5%B9%95%E8%BF%BD%E5%89%A7/feedback' target='_blank'>"+lang.question+"</a></li>・<li><a href='http://yuleshequ.66rt.com' target='_blank'>服务官网</a></li>・<li><a href='https://greasyfork.org/zh-CN/scripts/458491-vip%E5%BD%B1%E8%A7%86%E8%A7%A3%E6%9E%90%E6%92%AD%E6%94%BE-%E5%BC%B9%E5%B9%95%E8%BF%BD%E5%89%A7' target='_blank'>"+lang.reward+"</a></li>";

                setHtml +='</ul>';

                setHtml +='</div>';

                setHtml += "</div>";

                if(document.querySelector('#setMask')) return;

                this.createElement('div','zhmMenu');

                let zhmMenu = document.getElementById('zhmMenu');

                zhmMenu.innerHTML = setHtml;

                let timerZhmIcon = setInterval(function(){

                    if (document.querySelector('#zhmMenu')){

                        clearInterval(timerZhmIcon); // 取消定时器

                        let circular = document.querySelectorAll('.circular');

                        circular.forEach(function(item){

                            item.addEventListener('click', function(_e){

                                let buttonStyle = item.children[0].style;

                                let left = buttonStyle.left;

                                left = parseInt(left);

                                let listLeftValue;

                                if(left==0){

                                    buttonStyle.left = '22px';

                                    buttonStyle.background = '#fe6d73';

                                    item.style.background='#ffE5E5';

                                    if(item.nextSibling && item.nextSibling.getAttribute('data')){

                                        item.nextSibling.setAttribute('style','border: solid #ccc;border-width: 0 3px 3px 0;')
                                    }

                                    listLeftValue = 22;

                                }else{

                                    buttonStyle.left = '0px';

                                    buttonStyle.background = '#fff';

                                    item.style.background='#fff';

                                    if(item.nextSibling){

                                        item.nextSibling.setAttribute('style','border: solid #EEE;border-width: 0 3px 3px 0;')

                                    }

                                    listLeftValue = 0;
                                }

                                let setListID = item.id;

                                if(setListID == 'removeKeyword' && listLeftValue==22){

                                    document.querySelector('#zhihuKeyword').style.display='block';

                                    //document.querySelector('#zhmTakePlace').style= 'height:220px';
                                }

                                if(setListID == 'removeKeyword' && listLeftValue==0){

                                    document.querySelector('#zhihuKeyword').style.display='none';

                                    //document.querySelector('#zhmTakePlace').style= 'height:180px';
                                }

                                if(setListID == 'removeAuthorName' && listLeftValue==22){

                                    document.querySelector('#zhihuAuthorName').style.display='block';

                                    //document.querySelector('#zhmTakePlace').style= 'height:260px';
                                }

                                if(setListID == 'removeAuthorName' && listLeftValue==0){

                                    document.querySelector('#zhihuAuthorName').style.display='none';

                                    //document.querySelector('#zhmTakePlace').style= 'height:120px';
                                }

                                if(setListID == 'videoPlayLineAdd' && listLeftValue==22){

                                    document.querySelector('#videoPlayLineAddTextarea').style.display='block';
                                }

                                if(setListID == 'videoPlayLineAdd' && listLeftValue==0){

                                    document.querySelector('#videoPlayLineAddTextarea').style.display='none';
                                }

                                GM_setValue(setListID,listLeftValue);

                            })

                        });

                        let toRight = document.querySelectorAll('.to-right');

                        toRight.forEach(function(item){

                            item.addEventListener('click', function(e){

                                let left = item.previousSibling.children[0].style.left;

                                left = parseInt(left);

                                if(left != 22) return;

                                let setPageID = item.getAttribute('data');

                                let pageId = document.getElementById(setPageID);

                                pageId.className='iconSetPage toLeftMove';

                                //知乎设置暂位高度
                                if(setPageID=='zhihuIconSetPage'){

                                    document.querySelector('#zhmTakePlace').style= `height:68px`;

                                }
                                //实时图标高度
                                if(setPageID == 'movieIconSetPage'){

                                    document.querySelector('#iconTop').value=document.querySelector("#zhmlogo").offsetTop;


                                }

                            })

                        })

                        let toBack = document.querySelectorAll('.back');

                        toBack.forEach(function(item){

                            item.addEventListener('click', function(e){

                                let parentDom = item.parentNode.parentNode.parentNode;

                                parentDom.className='iconSetPage toRightMove';

                                document.querySelector('#zhmTakePlace').style='height:40px;'

                            })

                        })

                        let setSave = document.querySelectorAll('.iconSetSave');

                        setSave.forEach(function(item){

                            item.addEventListener('click',()=>{

                                let iconTop = document.getElementById('iconTop').value;

                                let iconPosition = document.getElementById('iconPosition').value;

                                let iconWidth = document.getElementById('iconWidth').value;

                                let iconWaitTime = document.getElementById('iconWaitTime').value;

                                let playVideoLineText = document.querySelector('#playVideoLineTextarea').value;

                                let playVideoLineLeft = document.querySelector('#videoPlayLineAdd').children[0].style.left;

                                let inputZhKeyword = document.getElementById('inputZhKeyword').value;

                                let inputAuthorName = document.getElementById('inputZhAuthorName').value;

                                if(iconTop != ''){

                                    if(!(/(^[0-9][0-9]{0,2}$)/.test(iconTop))){

                                        alert(lang.tipErrorIconHeight);

                                        return false;
                                    }

                                    //_this.setCookie('iconTop',iconTop,30);

                                    GM_setValue('iconTop',iconTop);
                                }

                                if(iconPosition != ''){

                                    //_this.setCookie('iconPosition',iconPosition,30);

                                    GM_setValue('iconPosition',iconPosition);
                                }

                                if(iconWaitTime != ''){

                                    GM_setValue('iconWaitTime',iconWaitTime);
                                }

                                if(iconWidth !=''){

                                    if(!(/(^([1-9][0-9]?)$)/.test(iconWidth))){

                                        alert(lang.tipErrorIconWidth);

                                        return false;
                                    }

                                    //_this.setCookie('iconWidth',iconWidth,30);

                                    GM_setValue('iconWidth',iconWidth);
                                }

                                if(GM_getValue('videoPlayLineAdd') == 22){

                                    if(playVideoLineText){

                                        let lineObj = _this.getLine(playVideoLineText);

                                        if(lineObj.length>0){

                                            GM_setValue('playVideoLineText',playVideoLineText);

                                        }else{
                                            alert('线路输入不正确');
                                            return;
                                        }

                                    }else{

                                        GM_setValue('playVideoLineText','');
                                    }

                                }else{

                                    GM_setValue('playVideoLineText',playVideoLineText);
                                }

                                if(inputZhKeyword != ''){

                                    GM_setValue('inputZhKeyword',inputZhKeyword);

                                }else{

                                    if(GM_getValue('inputZhKeyword')){

                                        GM_deleteValue('inputZhKeyword');
                                    }

                                }

                                if(inputAuthorName != ''){

                                    GM_setValue('inputZhAuthorName',inputAuthorName);

                                }else{

                                    if(GM_getValue('inputZhAuthorName')){

                                        GM_deleteValue('inputZhAuthorName');
                                    }

                                }

                                history.go(0);
                            })
                        })

                        document.getElementById('iconTop').addEventListener('change',function(){

                            let iconTop = this.value;

                            if(!(/(^[1-9]\d*$)/.test(iconTop))){

                                this.setAttribute('data-is-valid','false')


                            }else{

                                this.setAttribute('data-is-valid','true')
                            }

                            return false;

                        })

                        document.getElementById('iconWidth').addEventListener('change',function(){

                            let iconWidth = this.value;

                            if(!(/(^[1-9]\d*$)/.test(iconWidth))){

                                this.setAttribute('data-is-valid','false')


                            }else{

                                this.setAttribute('data-is-valid','true')
                            }

                            return false;

                        })
                        //腾讯视频快捷键冲突
                        if(couponUrl.match(/v\.qq\.com\/x\/cover/)){

                            let addLineText =document.querySelector('#playVideoLineTextarea');

                            addLineText.addEventListener('keydown',function(e){

                                let startPos = addLineText.selectionStart;

                                let endPos = addLineText.selectionEnd;

                                if (startPos === undefined || endPos === undefined) return;

                                keyCode.forEach(function(item){

                                    if(e.keyCode == item.code && e.shiftKey==item.isShift){

                                        let textValue = addLineText.value;

                                        let startValue = textValue.substring(0,startPos);

                                        let endValue = textValue.substring(startPos);

                                        let allValue = startValue+item.value+endValue;

                                        addLineText.value=allValue;

                                        addLineText.selectionStart = startPos+1;

                                        addLineText.selectionEnd = endPos+1;

                                    }
                                })

                            })
                        }
                    }

                })

                }

            createElement(dom,domId){

                var rootElement = document.body;

                var newElement = document.createElement(dom);

                newElement.id = domId;

                var newElementHtmlContent = document.createTextNode('');

                rootElement.appendChild(newElement);

                newElement.appendChild(newElementHtmlContent);

            }

            request(method,url,data,isCookie=''){

                let request = new XMLHttpRequest();

                return new Promise((resolve,reject)=>{

                    request.onreadystatechange=function(){

                        if(request.readyState==4){

                            if(request.status==200){

                                resolve(request.responseText);

                            }else{

                                reject(request.status);
                            }

                        }
                    }

                    request.open(method,url);
                    //request.withCredentials = true;
                    if(isCookie){
                        request.withCredentials = true;
                    }
                    request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
                    request.send(data);

                })

            }

            setCookie(cname,cvalue,exdays){

                var d = new Date();

                d.setTime(d.getTime()+(exdays*24*60*60*1000));

                var expires = "expires="+d.toGMTString();

                document.cookie = cname+"="+cvalue+"; "+expires;
            }

            getCookie(cname){
                var name = cname + "=";
                var ca = document.cookie.split(';');
                for(var i=0; i<ca.length; i++) {
                    var c = ca[i].trim();
                    if (c.indexOf(name)==0) { return c.substring(name.length,c.length); }
                }
                return "";
            }

            getQueryString(e) {
                var t = new RegExp("(^|&)" + e + "=([^&]*)(&|$)");
                var a = window.location.search.substr(1).match(t);
                if (a != null) return a[2];
                return "";
            }

            getUrlParams(url){
                let reg = /([^?&+#]+)=([^?&+#]+)/g;
                let obj={};
                url.replace(reg,(res,$1,$2)=>{obj[$1]=$2});
                return obj;
            }

            getLine(text){

                let textArr = text.split('\n');

                if(textArr.length > 0){

                    let lineObj = [];

                    let match = /^(.+)(https?:\/\/.+)$/;

                    textArr.forEach(function(item){

                        item = item.replace(/\s*,*/g,'');

                        if(!item) return true;

                        let lineMatch = item.match(match);

                        if(lineMatch){

                            lineObj.push({'name':lineMatch[1].substring(0,4),'url':lineMatch[2]});

                        }else{

                            lineObj=[];

                            return false;
                        }

                    })

                    return lineObj;

                }
            }

            static getElement(css){

                return new Promise((resolve,reject)=>{

                    let num = 0;

                    let timer = setInterval(function(){

                        num++

                        let dom = document.querySelector(css);

                        if(dom){

                            clearInterval(timer);

                            resolve(dom);

                        }else{

                            if(num==20){clearInterval(timer);resolve(false);}
                        }

                    },300)

                    })


            }

            static toast(msg,duration){

                duration=isNaN(duration)?3000:duration;

                let toastDom = document.createElement('div');

                toastDom.innerHTML = msg;

                //toastDom.style.cssText="width: 60%;min-width: 150px;opacity: 0.7;height: 30px;color: rgb(255, 255, 255);line-height: 30px;text-align: center;border-radius: 5px;position: fixed;top: 40%;left: 20%;z-index: 999999;background: rgb(0, 0, 0);font-size: 12px;";
                toastDom.style.cssText='padding:2px 15px;min-height: 36px;line-height: 36px;text-align: center;transform: translate(-50%);border-radius: 4px;color: rgb(255, 255, 255);position: fixed;top: 50%;left: 50%;z-index: 9999999;background: rgb(0, 0, 0);font-size: 16px;'

                document.body.appendChild(toastDom);

                setTimeout(function() {

                    var d = 0.5;

                    toastDom.style.webkitTransition = '-webkit-transform ' + d + 's ease-in, opacity ' + d + 's ease-in';

                    toastDom.style.opacity = '0';

                    setTimeout(function() { document.body.removeChild(toastDom) }, d * 1000);

                }, duration);

            }
            //create zhmLogoIcon
            zhmLogo(){

               var _this = this;

               let sortDiv = iconVipPosition=='left'?'row':'row-reverse';

               let playVideoStyle = `
               .zhm_play_vidoe_icon{
                  padding-top:2px;
                  cursor:pointer;
                  z-index:9999999;
                  position:fixed;${iconVipPosition}:5px;top:${iconVipTop}px;
                  text-align:center;
                  overflow:visible;
                  display:flex;
                  flex-direction:${sortDiv};
                  width:auto;
               }
               .zhm_play_video_wrap{
                  z-index:9999999;
                  overflow: hidden;
                  width:300px;
               }
               .zhm_play_video_line{
                  width:320px;
                  height:316px;
                  overflow-y:scroll;
                  overflow-x:hidden;
               }
               .zhm_play_vide_line_ul{
                  width:300px;
                  display: flex;
                  justify-content: flex-start;
                  flex-flow: row wrap;
                  list-style: none;
                  padding:0px;
                  margin:0px;

               }
               .zhm_play_video_line_ul_li{
                  padding:4px 0px;
                  margin:2px;
                  width:30%;
                  color:#FFF;
                  text-align:center;
                  background-color:#f24443;
                  box-shadow:0px 0px 10px #fff;
                  font-size:14px;
               }
               .zhm_play_video_line_ul_li:hover{
                  color:#260033;
                  background-color:#fcc0c0
               }
               .zhm_line_selected{
                  color:#260033;
                  background-color:#fcc0c0
               }

               .zhm_play_video_jx{
                  width:100%;
                  height:100%;
                  z-index:999999;
                  position: absolute;top:0px;padding:0px;
               }
               `;

                domStyle .appendChild(document.createTextNode(playVideoStyle));

                domHead.appendChild(domStyle);

                let playWrapHtml = "<div href='javascript:void(0)' target='_blank' style='' class='playButton zhm_play_vidoe_icon' id='zhmlogo'>";

                playWrapHtml += "<img class='iconLogo' style='width:"+iconVipWidth*1.5+"px;height:"+iconVipWidth*1.5+"px' src='data:image/png;base64,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'>"

                playWrapHtml += "<div>";

                _this.createElement('div','zhmIcon');

                let zhmPlay = document.getElementById('zhmIcon');

                zhmPlay.innerHTML = playWrapHtml;

            }
            //左键按下拖动
            //type:根据不同类型,处理图标单击事务
            zhmLogoDrag(type,web){

                var _this = this;

                var zhmLogoDrag=document.querySelector("#zhmlogo");

                var zhmLogoIcon = document.querySelector(".iconLogo");

                if(!zhmLogoDrag || !zhmLogoIcon)return;

                zhmLogoDrag.onmousedown = function(event){

                    if(event.which==3)return false;//屏蔽右键

                    let sedownTop = zhmLogoDrag.offsetTop;

                    let zhmLogoIconHeight = zhmLogoIcon.offsetHeight;

                    let bottomSpace = 10;

                    if(event.target.className != 'iconLogo')return;

                    //let shiftX = event.clientX - zhmLogoDrag.getBoundingClientRect().left;
                    let shiftx = 5;

                    let shiftY = event.clientY-zhmLogoDrag.getBoundingClientRect().top;

                    zhmLogoDrag.style.position = 'fixed';

                    zhmLogoDrag.style.zIndex = 9999999;

                    document.body.append(zhmLogoDrag);

                    function onMouseMove(event){

                        //zhmLogoDrag.style.left = pageX - shiftX + 'px';
                        zhmLogoDrag.style.left = '5px';

                        let height = window.innerHeight - zhmLogoIconHeight-bottomSpace;

                        let y = event.pageY-shiftY;

                        y = Math.min(Math.max(0, y), height);

                        zhmLogoDrag.style.top = y+'px';

                    }
                    //在mousemove事件上移动图标
                    document.addEventListener('mousemove',onMouseMove);
                    //松开事件
                    document.onmouseup = function(e){

                        GM_setValue('iconTop',zhmLogoDrag.offsetTop);

                        document.removeEventListener('mousemove', onMouseMove);

                        zhmLogoDrag.onmouseup = null;

                        let height = zhmLogoDrag.offsetTop+zhmLogoIconHeight+bottomSpace;

                        if(zhmLogoDrag.offsetTop < 0){

                            zhmLogoDrag.style.top ='0px';
                        }

                        if(window.innerHeight < height){

                            zhmLogoDrag.style.top =window.innerHeight-zhmLogoIconHeight-bottomSpace+'px';

                        }
                        //click事件处理
                        switch(type){

                            case 'video':

                                if(zhmLogoDrag.offsetTop==sedownTop && web.length > 0 && zhmLogoDrag.offsetTop>0 && window.innerHeight > height){

                                    _this.request('get',`${zhmApiUrl}/jxcode.php?in=${jxCodeInfo.in}&code=${jxCodeInfo.code}`).then((result)=>{

                                        location.href=`${zhmApiUrl}/jxjx.php?lrspm=${result}&zhm_jx=${location.href}`;

                                    }).cath(err=>{})

                                }

                                if(zhmLogoDrag.offsetTop==sedownTop && web.length == 0 && zhmLogoDrag.offsetTop>0 && window.innerHeight > height){

                                    BaseClass.toast('请在视频播放页点击图标');
                                }

                                break;
                            case 'music':

                                if(zhmLogoDrag.offsetTop==sedownTop && e.target.className == 'iconLogo'){

                                    //document.removeEventListener('mousemove', onMouseMove);

                                    //zhmLogoDrag.onmouseup = null;

                                    let musicUrlData = [
                                        {match:/^https?:\/\/music\.163\.com\/#\/(?:song|dj)\?id/},
                                        {match:/^https?:\/\/y\.music\.163\.com\/m\/(?:song|dj)\?id/},
                                        {match:/^https?:\/\/music\.163\.com\/(?:song|dj)\?id/},
                                        {match:/^https?:\/\/y\.qq\.com\/n\/ryqq\/player/},
                                        {match:/kugou\.com/},
                                        {match:/kuwo\.cn/},
                                        {match:/^https?:\/\/www\.ximalaya\.com/},
                                    ]

                                    let musicUrl = musicUrlData.filter(function(item){

                                        return location.href.match(item.match);

                                    })

                                    if(musicUrl.length==0){

                                        BaseClass.toast(web[0].tip);

                                        return;
                                    }

                                    switch(web[0].name){
                                        case 'netease':
                                            neteaseFun();
                                            break;
                                        case 'qq':
                                            qqFun();
                                            break;
                                        case 'kugou':
                                            kugouFun();
                                            break;
                                        case 'kuwo':
                                            kuwoFun();
                                            break;
                                        case 'ximalaya':
                                            ximalayaFun();
                                            break;
                                    }

                                    function neteaseFun(){

                                        let urlParams = _this.getUrlParams(location.href);

                                        if(urlParams.id == undefined) return;

                                        let neteaseUrlEncode = encodeURIComponent('https://music.163.com/song?id='+urlParams.id);

                                        let openUrl = webUrl+'?url='+neteaseUrlEncode;

                                        window.open(openUrl);

                                    }

                                    function qqFun(){

                                        let qqSongMatch;

                                        if(document.querySelector(".player_music__info")){

                                            qqSongMatch = document.querySelector(".player_music__info").childNodes[0].href.match(/songDetail\/(\S*)\?/);

                                        }else if(document.querySelector("#sim_song_info")){

                                            qqSongMatch = document.querySelector("#sim_song_info").childNodes[0].href.match(/song\/(\S*).html/);

                                        }else{

                                            qqSongMatch = '';
                                        }

                                        if(!qqSongMatch[1]){console.log('没有获取到歌曲ID'); return};

                                        let audioLink = encodeURIComponent(document.querySelector("audio").src);

                                        let openUrl = webUrl+'?id='+qqSongMatch[1]+'&type=qq&playUrl='+audioLink;

                                        window.open(openUrl);

                                    }

                                    function kugouFun(){

                                        let audioModule = document.querySelector('#audioModule');

                                        if(audioModule){

                                            document.querySelector('#audioModule').style='bottom:0px;';

                                            document.querySelector('#showHide_playbar').className = 'icon show-playbar-btn';

                                        }
                                        BaseClass.toast('请点击播放需要下载的歌曲,然后在网页下方播放器内点击"下载"',2000)

                                        //alert('请点击播放需要下载的歌曲,然后在网页下方播放器内点击"下载"。');

                                        /*

                                        let songKugouMatch = newUrl.match(jxMusicWeb[0].match);

                                        let audioSrc = encodeURIComponent(document.querySelector("audio").src);

                                        let openUrl = webUrl+'?id='+songKugouMatch[1]+'&type=kugou&playUrl='+audioSrc;

                                        window.open(openUrl);
                                        */
                                    }

                                    function kuwoFun(){

                                        document.querySelector('.playControl').style='bottom:0px';

                                        BaseClass.toast('请点击播放需要下载的歌曲,然后在网页下方播放器内点击"下载"',2000)

                                        //alert('请点击播放需要下载的歌曲,然后在网页下方播放器内点击"下载"。');

                                        /*
                                        let songKuwoMatch = newUrl.match(jxMusicWeb[0].match);

                                        let audioSrc = encodeURIComponent(document.querySelector("audio").src);

                                        let openUrl = webUrl+'?id='+songKuwoMatch[1]+'&type=kuwo&playUrl='+audioSrc;

                                        window.open(openUrl);
                                        */
                                    }

                                    function ximalayaFun(){

                                        document.querySelector('.xm-player').style='bottom:0px';

                                        BaseClass.toast('请点击播放需要下载的歌曲,然后在网页下方播放器内点击"下载"',2000)

                                        //alert('请点击播放需要下载的歌曲,然后在网页下方播放器内点击"下载"。');

                                        /*
                                        let urlInfo = newUrl.match(jxMusicWeb[0].match);

                                        console.log(webUrl+'?id='+urlInfo[1]+'&type=ximalaya&playUrl='+encodeURIComponent(newUrl));

                                        if(urlInfo[1]){

                                            window.open(webUrl+'?id='+urlInfo[1]+'&type=ximalaya&playUrl='+encodeURIComponent(newUrl));

                                        }else{

                                            console.log('没有获取url参数');
                                        }
                                        */
                                    }
                                }
                                break;
                            case 'youtube':



                                break;

                        }
                    };

                };

                zhmLogoDrag.ondragstart = function(){
                    return false;
                };
            }

        }

        class CouponClass extends BaseClass{

            constructor(){

                super();

                this.divElement = document.createElement("div");

                this.divElement.id='zhm_div_s';

            }
            taobao(){

                let node = document.querySelector('#J_juValid');

                node.style='overflow:inherit;'

                let className = 'zhm_tab_taobao';

                this.getCouponInfo(node,className);
            }
            tmall(){

                let node = document.querySelector('.Actions--leftButtons--1M3KkF7')?document.querySelector('.Actions--leftButtons--1M3KkF7'):document.querySelector('#J_LinkBuy').parentNode;

                let className = 'zhm_tab_tmall';

                this.getCouponInfo(node,className);
            }
            tmallCaoshi(){

                let node = document.querySelector('#J_LinkBuy').parentNode;

                let className = 'zhm_tab_tmall';

                this.getCouponInfo(node,className);
            }
            tmallOther(){

                let node = document.querySelector('.tm-msg-box');

                let className = 'zhm_tab_tmall';

                this.getCouponInfo(node,className);
            }
            jd(){
                setTimeout(()=>{

                    let jdGoodsId = couponUrl.match(/jd\.com\/(\S*).html/);

                    let node= document.querySelector('#choose-btns');

                    node.before(this.divElement);

                    this.request('get',`https://zuihuimai.net/vrhr/index_jd_new.php?goods_id=${jdGoodsId[1]}`).then((result)=>{

                        let resp= JSON.parse(result);

                        let html='';

                        resp.forEach(function(item){

                            html +=
                                `
        <div class="zhm_coupon" style="margin-left:10px;">
            <div class="zhm_left">
                <div class="zhm_img_icon">
        <img src="data:image/gif;base64,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" >        </div>
                <div class="zhm_content">
                    <div class="zhm_money" style='margin-top:7px;'>
                        <div class="zhm_amount_money">
                            <div class="zhm_money_sign" style='margin-top:-10px;'>¥</div>
                            <div class="zhm_money_num">${item.discount}</div>
                        </div>
                        <div class="zhm_condition">满${item.quota}元可用</div>
                    </div>
                    <div class="zhm_time" style='margin-top:10px;'>
                        <div class="zhm_term">有效期</div>
                        <div class="zhm_date">${item.endTime}</div>
                    </div>
                </div>
            </div>
            <div class="zhm_circle"></div>
            <div class="zhm_link_coupon">
                <a class="zhm_link_text" href="${item.coupon_link}" target='_blank' rel='noopener noreferrer nofollow' style="margin-left:16px;width:34px;">领取</a>
            </div>
        </div>
        `
                        });

                        document.getElementById('zhm_div_s').innerHTML = html;

                    })



                },couponWaitTime)
            }

            getCouponInfo(node,className){

                setTimeout(()=>{

                    let goods_id = this.getQueryString('id');

                    if(!goods_id){console.log('goods_id');return};

                    if(className == 'zhm_tab_taobao'){

                        node.querySelector('div:nth-of-type(1)').before(this.divElement);

                    }else{
                        node.before(this.divElement);
                    }

                    this.request('get',`https://www.zuihuimai.net/vrhr/index_new.php?goods_id=${goods_id}`).then((result)=>{

                        if(result){

                            let resp= JSON.parse(result);

                            let html =
                                `
        <div class="zhm_coupon">
            <div class="zhm_left">
                <div class="zhm_img_icon">
        <img src="data:image/gif;base64,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" >        </div>
                <div class="zhm_content">
                    <div class="zhm_money">
                        <div class="zhm_amount_money">
                            <div class="zhm_money_sign">¥</div>
                            <div class="zhm_money_num">${resp.youhuiquan}</div>
                        </div>
                        <div class="zhm_condition">${resp.coupon_info}</div>
                    </div>
                    <div class="zhm_time">
                        <div class="zhm_term">有效期</div>
                        <div class="zhm_date">${resp.coupon_end_time}</div>
                    </div>
                </div>
            </div>
            <div class="zhm_circle"></div>
            <div class="zhm_link_coupon" style="margin-right:">
                <a class="zhm_link_text" onclick="window.open('${resp.coupon_link}')">领取</a>
            </div>
        </div>
        `;
                            document.getElementById('zhm_div_s').innerHTML=html;

                        }

                    })

                },couponWaitTime);
            }

        }

        class PlayVideoClass extends BaseClass{
            constructor(){
                super();
            }

        }

        class PlayMusicClass extends BaseClass{
            constructor(){
                super();
            }

            xmlyCreateCheckbox(){

                let soundListli = document.querySelectorAll('.sound-list ul li');

                soundListli.forEach(function(item){

                    let checkboxed = item.querySelector('input');

                    if(checkboxed){
                        return;
                    }

                    let title = item.querySelector('.text');

                    if(!title){
                        return;
                    };

                    title.style = "width:360px";

                    let src = title.querySelector('a').getAttribute('href');

                    let firstDom = item.querySelector('.icon-wrapper');

                    let inputDom = firstDom.cloneNode(true);

                    inputDom.style= 'min-width: 0px;';

                    inputDom.innerHTML = "<input type='checkbox' name='zhmCheckbox' value="+src+" >";

                    firstDom.before(inputDom);

                })

            }
        }

        class ZhClass extends BaseClass{

            constructor(){
                super();
            }
            showSpecialColumn(){

                if(location.href == 'https://www.zhihu.com/'){

                    let cardRecommend = document.querySelectorAll('.Feed');

                    if(cardRecommend.length >0){

                        cardRecommend.forEach(function(item){

                            if(item.querySelector('.specialColumn')){
                                return;
                            }

                            let dataZop = JSON.parse(item.getAttribute('data-za-extra-module'));

                            if(!dataZop)return;

                            let type = dataZop.card.content.type;

                            if(type == 'Post'){

                                let title = item.querySelector('div>div>h2>span>a');

                                if(!title)return;

                                let newElement = document.createElement('button');

                                newElement.className = 'specialColumn Button VoteButton VoteButton--up';

                                newElement.style = 'line-height:20px;padding:0px 5px;margin-right:5px;border-radius:2px;';

                                newElement.innerText = '文章';

                                title.before(newElement);

                            }
                        })
                    }

                }

                if(location.href.match(/https?:\/\/www.zhihu.com\/search/)){
                    let n=0;

                    let timer= setInterval(function(){

                        let cardSearch = document.querySelectorAll('.SearchResult-Card');

                        if(n++>600){
                            clearInterval(timer);
                        }

                        if(cardSearch.length >0){

                            clearInterval(timer);

                            cardSearch.forEach(function(item){

                                if(item.querySelector('.specialColumn')){
                                    return;
                                }

                                let dataZop = JSON.parse(item.getAttribute('data-za-extra-module'));

                                if(!dataZop)return;

                                let type = dataZop.card.content.type;

                                 console.log('search',type);

                                if(type == 'Post'){

                                    let title = item.querySelector('div>div>h2>span>div>a');

                                    if(!title)return;

                                    let newElement = document.createElement('button');

                                    newElement.className = 'specialColumn Button VoteButton VoteButton--up';

                                    newElement.style = 'line-height:20px;padding:0px 5px;margin-right:5px;';

                                    newElement.innerText = '文章';

                                    title.before(newElement);

                                }
                            })
                        }


                    })
                    }
            }
            showVideoTitle(){

                if(location.href == 'https://www.zhihu.com/'){

                    let cardRecommend = document.querySelectorAll('.Feed');

                    if(cardRecommend.length >0){

                        cardRecommend.forEach(function(item){

                            if(item.querySelector('.videoTitle')){
                                return;
                            }

                            let dataZop = JSON.parse(item.getAttribute('data-za-extra-module'));

                            if(!dataZop)return;

                            let hasVideo = dataZop.card.has_video;

                            if(hasVideo == true){

                                let title;

                                if(item.querySelector('div>div>h2>div>a')){

                                    title = item.querySelector('div>div>h2>div>a');

                                }else if(item.querySelector('div>div>h2>span>a')){

                                    title = item.querySelector('div>div>h2>span>a');

                                }else{

                                    return;
                                }

                                let newElement = document.createElement('button');

                                newElement.className = 'videoTitle';

                                newElement.style = 'background: rgba(255, 131, 86, 0.12);color: rgb(255, 73, 12);line-height:20px;padding:1px 6px;margin-right:5px;border-radius:2px;font-size:14px;';

                                newElement.innerText = '视频';

                                title.before(newElement);

                            }
                        })
                    }

                }

                if(location.href.match(/https?:\/\/www.zhihu.com\/search/)){

                    let n=0;

                    let timer= setInterval(function(){

                        let cardSearch = document.querySelectorAll('.SearchResult-Card');

                        if(n++>600){
                            clearInterval(timer);
                        }

                        if(cardSearch.length >0){

                            clearInterval(timer);

                            cardSearch.forEach(function(item){

                                if(item.querySelector('.videoTitle')){
                                    return;
                                }

                                let dataZop = JSON.parse(item.getAttribute('data-za-extra-module'));

                                if(!dataZop)return;

                                let type = dataZop.card.content.type;

                                if(type == 'Zvideo' ){

                                    let title = item.querySelector('div>div>h2>span>div>a');

                                    if(!title)return;

                                    let newElement = document.createElement('button');

                                    newElement.className = 'videoTitle';

                                    newElement.style = 'background: rgba(255, 131, 86, 0.12);color: rgb(255, 73, 12);line-height:20px;padding:1px 6px;margin-right:5px;border-radius:2px;font-size:14px;';

                                    newElement.innerText = '视频';

                                    title.before(newElement);

                                }
                            })
                        }


                    })
                    }

            }
            removeVideo(){

                let card = document.querySelectorAll('.Feed');

                card.forEach(function(item){

                    let dataZop = JSON.parse(item.getAttribute('data-za-extra-module'));

                    let video = dataZop.card.content.video_id;

                    if(video){

                        item.parentNode.style='display:none;';

                    }
                })

            }
            removeAD(){

                let zhHideAD = `.Pc-card,.Pc-word{display:none !important;}.TopstoryItem--advertCard{display:none !important}`;

                domStyle .appendChild(document.createTextNode(zhHideAD));

                domHead.appendChild(domStyle);

            }
            downloadVideo(){

                var _this = this;

                window.addEventListener('click',(e)=>{

                    if(e.target.innerText == '下载'){

                        let videoDom;

                        for(let i=0;i<e.path.length;i++){

                            if(e.path[i].className == 'Feed'){

                                videoDom = e.path[i];
                                break;
                            }

                        }

                        var videoId;

                        if(videoDom){

                            let videoData = JSON.parse(videoDom.getAttribute('data-za-extra-module'));

                            videoId = videoData.card.content.video_id;

                        }else{

                            let videoUrl = window.location.href;

                            let videoObj = videoUrl.split('?');

                            videoId = videoObj[0].split('/').pop();


                            if(document.querySelector('video')){

                                let videoUrl = document.querySelector('video').src;

                                GM_download(videoUrl,videoId);


                            }

                            return;

                        }

                        if(!videoId){
                            console.log('为获取视频id');
                        }

                        let url = 'https://lens.zhihu.com/api/v4/videos/'+videoId;

                        _this.request('get',url).then((result)=>{

                            let data = JSON.parse(result);

                            if(data.playlist != undefined){

                                let play_url = data.playlist.LD.play_url;

                                let videoName = videoId+".mp4";

                                GM_download(play_url,videoName);

                            }else{

                                BaseClass.toast('下载失败!');

                            }
                        });
                    }
                })

                document.addEventListener('DOMNodeInserted',(e) => {

                    if(!e.relatedNode.querySelector) return;

                    var playBar = e.relatedNode.querySelector(':scope > div:last-child > div:first-child > div:nth-of-type(2)');

                    if(!playBar || playBar.querySelector('.zhmDownload')) return;

                    var playBut = playBar.querySelector(':scope > div:last-child');

                    if(!playBut) return;

                    var playButLi = playBut.querySelector('div:first-child');

                    if(!playButLi) return;

                    var downloadBut = playButLi.cloneNode(true);

                    downloadBut.className = playButLi.className + ' zhmDownload';

                    if(!downloadBut.querySelector('._1tg8oir')) return;

                    downloadBut.querySelector('._1tg8oir').innerText='下载';

                    playButLi.before(downloadBut);

                })

                setTimeout(function(){

                    if(document.querySelector('.zhmDownload'))return;

                    let videoDom = document.querySelector('video');

                    if(!document.querySelector('video'))return;

                    let button = document.querySelectorAll('._e296pg');

                    if(button.length<2)return;

                    let downloadBut = button[1].cloneNode(true);

                    if(!downloadBut.querySelector('._1tg8oir'))return;

                    downloadBut.querySelector('._1tg8oir').innerText='下载';

                    downloadBut.setAttribute('id','downloadVideo');

                    button[1].before(downloadBut);

                    console.log(downloadBut);

                    document.querySelector('#downloadVideo').addEventListener('click',function(){

                        var videoId;

                        if(document.querySelector('.ZVideo-player')){

                            let zVideo = document.querySelector('.ZVideo');

                            let videoData = JSON.parse(zVideo.getAttribute('data-za-extra-module'));

                            videoId = videoData.card.content.video_id;

                        }else{

                            let videoUrl = window.location.href;

                            let videoObj = videoUrl.split('?');

                            videoId = videoObj[0].split('/').pop();
                        }

                         if(!videoId){
                            console.log('为获取视频id');
                        }

                        let url = 'https://lens.zhihu.com/api/v4/videos/'+videoId;

                        _this.request('get',url).then((result)=>{

                            let data = JSON.parse(result);

                            if(data.playlist != undefined){

                                let play_url = data.playlist.LD.play_url;

                                let videoName = videoId+".mp4";

                                GM_download(play_url,videoName);

                            }else{

                                BaseClass.toast('下载失败!');

                            }
                        });
                    })

                },2000);

            }
            removeRight(){
                if(location.href.match(/^https?:\/\/www\.zhihu\.com\/people\/.*/)){
                    return false;
                }
                let zhFullScreen = `.GlobalSideBar {display: none !important;}
                    .css-1qyytj7{display: none !important;}
                    .Question-sideColumn{display:none !important}
                    .Topstory-mainColumn{width:100% !important}
                    .Question-mainColumn{width:1000px !important}
                    .css-cazg48{margin: 0px 16px 0px 0px !important;}
                    .QuestionWaiting-mainColumn{width:100% !important;}
                    .css-1j5d3ll{padding-left:10px;}
                    .css-yhjwoe{justify-content: space-between !important;}
                    `;
                domStyle .appendChild(document.createTextNode(zhFullScreen));

                domHead.appendChild(domStyle);
            }
            changeLink(){

                if(couponUrl.indexOf('target') != -1){

                    let obj = this.getUrlParams(couponUrl);

                    if(obj.target == undefined) return;

                    let link = decodeURIComponent(obj.target);

                    location.href=link;
                }
            }
            removeKeyword(){

                var GMKeyword = GM_getValue('inputZhKeyword','0');

                if(GMKeyword == '0' || GMKeyword == '') return;

                let keyword = GMKeyword.split(',');

                let content = document.querySelectorAll('.ContentItem');

                keyword.forEach(function(item){

                    content.forEach(function(value){

                        let dataZop = JSON.parse(value.getAttribute('data-zop'));

                        if(dataZop && dataZop.title.indexOf(item) != -1){

                            let itemCard = value.parentNode.parentNode.parentNode;

                            let itemCardClass= itemCard.className;

                            if(itemCardClass.indexOf('TopstoryItem-isRecommend') != -1){

                                itemCard.style='display:none';
                            }
                        }

                    })
                })
            }
            removeAuthorName(){

                var GMAuthorName = GM_getValue('inputZhAuthorName','0');

                if(GMAuthorName == '0' || GMAuthorName == '') return;

                let authorName = GMAuthorName.split(',');

                //搜索页
                if(location.href.match(/^https?:\/\/www.zhihu.com\/search/)){

                    let n=0;

                    let timer = setInterval(function(){

                        let userLink = document.querySelectorAll('.Card');

                        if(userLink.length > 5){

                            clearInterval(timer);

                            userLink.forEach(function(item){

                            let author = item.querySelector('b');

                            if(author){

                                if(authorName.indexOf(author.innerText) != -1){

                                    item.style = 'display:none';
                                }

                            }

                        })

                        }else if(n>30){

                            clearInterval(timer);

                        }else{

                            n++;
                        }

                    },100)

                }
                //回答页
                if(location.href.match(/^https?:\/\/www.zhihu.com\/question\/.*/)){

                    let itemDom = document.querySelectorAll('.List-item');

                    if(itemDom.length>0){

                        itemDom.forEach(function(item){

                            let content = item.querySelector('.ContentItem');

                            if(content){

                                let dataZop = JSON.parse(content.getAttribute('data-zop'));

                                if(authorName.indexOf(dataZop.authorName) != -1){

                                    item.style = 'display:none';

                                }

                            }

                        })

                    }

                }
                //等你回答页
                if(location.href == 'https://www.zhihu.com/question/waiting'){

                    setTimeout(function(){

                        let questionList = document.querySelectorAll('.jsNavigable');

                        if(questionList.length>0){

                            questionList.forEach(function(item){

                                let authorDomText = item.querySelector('.css-tnsaxh').innerText;

                                if(authorDomText){

                                    let author = authorDomText.replace('"','').replace('的提问','').replace(/(^\s+)|(\s+$)/g,'');

                                    if(author){

                                        if(authorName.indexOf(author) != -1){

                                            item.style='display:none;';

                                        }

                                    }

                                }

                            })

                        }

                    },300)
                }
                //推荐页
                if(location.href == 'https://www.zhihu.com/'){

                    let content = document.querySelectorAll('.ContentItem');

                    content.forEach(function(value){

                        let dataZop = JSON.parse(value.getAttribute('data-zop'));

                        if(authorName.indexOf(dataZop.authorName) != -1){

                            let itemCard = value.parentNode.parentNode.parentNode;

                            if(itemCard){

                                itemCard.style='display:none';
                            }
                        }

                    })

                }

            }
            removeYanxuan(){

                //回答页
                if(location.href.match(/^https?:\/\/www.zhihu.com\/question\/.*/)){

                    let itemDom = document.querySelectorAll('.List-item');

                    if(itemDom.length>0){

                        itemDom.forEach(function(item){

                            let content = item.querySelector('.KfeCollection-OrdinaryLabel-content');

                            if(content && content.innerText.indexOf('盐选') != -1){

                                item.style = 'display:none';

                            }
                        })

                    }

                    let answerCard = document.querySelector('.AnswerCard');

                    if(answerCard){

                        let content = answerCard.querySelector('.KfeCollection-OrdinaryLabel-content');

                        if(content && content.innerText.indexOf('盐选') != -1){

                            answerCard.style = 'display:none';
                        }
                    }

                }

                //搜索页
                if(location.href.match(/^https?:\/\/www.zhihu.com\/search/)){

                   let num = 0;

                   let timer = setInterval(function(){

                        let cardList = document.querySelectorAll('.Card');

                        if(cardList.length > 5){

                            clearInterval(timer);

                            cardList.forEach(function(item){

                                let type = item.querySelector('.KfeCollection-PcCollegeCard-type');

                                if(type && type.innerText.indexOf('盐选专栏') != -1){

                                    item.style = 'display:none';
                                }

                                let author = item.querySelector('b');

                                let authorYanxuan = ['故事档案局', '盐选推荐', '盐选科普', '盐选成长计划', '知乎盐选会员', '知乎盐选创作者', '盐选心理', '盐选健康必修课', '盐选奇妙物语', '盐选生活馆', '盐选职场', '盐选文学甄选', '盐选作者小管家', '盐选博物馆', '盐选点金', '盐选测评室', '盐选科技前沿', '盐选会员精品', '历史环游记'];

                                if(author && authorYanxuan.indexOf(author.innerText) != -1){

                                    item.style = 'display:none';

                                }

                            })

                        }else if(num>30){

                            clearInterval(timer);

                        }else{

                            num++;
                        }

                    },100)

                }

                //推荐页
                if(location.href == 'https://www.zhihu.com/'){

                    let content = document.querySelectorAll('.ContentItem');

                    content.forEach(function(item){

                        let content = item.querySelector('.KfeCollection-OrdinaryLabel-content');

                        if(content && content.innerText.indexOf('盐选') != -1){

                            item.style = 'display:none';

                        }

                    })
                }
            }
        }

        class VideoDownloadClass extends BaseClass{

            constructor(){

                super();
            }

            dyVideoDownload(){

                var _this = this;

                window.addEventListener('load',function(){

                    async function getControls(){

                        let videoDom = await BaseClass.getElement('.xg-video-container');

                        if(!videoDom){

                            console.log('没有找到DOM');return;
                        }

                        let vsNav = document.querySelector('.fuy_wmct:nth-of-type(5)');
                        /*抖音综艺栏目改版
                        if((vsNav && vsNav.className.indexOf('LXX79led') != -1) || couponUrl.indexOf('vsdetail') != -1){
                            console.log('综艺栏目关闭下载');return;
                        }
                        */
                         if(couponUrl.indexOf('vsdetail') != -1){
                            console.log('综艺栏目关闭下载');return;
                        }
                        _this.createDyVideoDownload();

                        let videoPlayDomAll = document.querySelectorAll('video');

                        let videoIndex = videoPlayDomAll.length>1?videoPlayDomAll.length-2:videoPlayDomAll.length-1;

                        let videoPlayDom = videoPlayDomAll[videoIndex];

                        //let videoPlayDom = videoPlayDomAll.length>1?videoPlayDomAll[videoPlayDomAll.length-2]:videoPlayDomAll[videoPlayDomAll.length-1];

                        videoPlayDom.addEventListener('ended',function(){ //结束

                            console.log("播放结束");

                            let autoPlay = document.querySelector('.xg-switch-checked');

                            if(autoPlay){

                                getControls();
                                return;
                            }

                        }, false);

                        document.querySelector('#toDownload').addEventListener('click',function(){

                            BaseClass.toast('正在下载请稍侯');

                            //let info = document.querySelectorAll('.Nu66P_ba');
                            let info = document.querySelectorAll('.Pz8t2meP');

                            let filename;

                            if(info.length>0){

                                let account = info[videoIndex].innerText;

                                //let titleArr = info[videoIndex*2+1].innerText.split('#');

                                let vt = document.querySelectorAll('.xhDopcQ_');

                                let title = vt[videoIndex].innerText.split('#');

                                filename = title[0]?title[0]:title[1]+account+'.mp4';

                            }else{

                                filename = new Date().getTime()+'.mp4'

                            }
                            
                            GM_download(videoPlayDom.children[0].src,filename);

                        })

                        document.querySelector('#toCopy').addEventListener('click',function(){

                            BaseClass.toast('已复制到剪贴板');

                            GM_setClipboard(videoPlayDom.children[0].src);
                        })

                        document.querySelector('.toLink').addEventListener('click',function(){

                            window.open(videoPlayDom.children[0].src);

                        })

                        return;
                    }

                    getControls();

                    window.addEventListener("wheel",getControls);

                    window.addEventListener('keydown',function(e){

                        if(e.code=='ArrowDown' || e.code=='ArrowUp'){

                            getControls();
                        }

                    })

                    async function insertedDom(){

                        let videoDom = await BaseClass.getElement('video');

                        if(!videoDom){

                            console.log('没有找到DOM');return;
                        }

                        videoDom.addEventListener('DOMNodeInserted',(e) => {

                            getControls();

                        })

                    }

                    insertedDom();

                    window.addEventListener('click',getControls);

                })

            }

            createDyVideoDownload(){

                let controlAll = document.querySelectorAll('.xg-right-grid');

                let controls = controlAll.length>1?controlAll[controlAll.length-2]:controlAll[controlAll.length-1];

                let videoDownloadDom = document.querySelector('#zhmDouyinDownload');

                if(videoDownloadDom){

                    videoDownloadDom.parentNode.parentNode.removeChild(videoDownloadDom.parentNode);

                    //videoDownloadDom.parentNode.parentNode.parentNode.removeChild(videoDownloadDom.parentNode.parentNode)
                }

                let playSeting = controls.querySelector('.xgplayer-playback-setting');

                let downloadDom = playSeting.cloneNode(true);

                downloadDom.style='margin-right:20px;';

                //let downloadText = downloadDom.querySelector('div:first-child > span:first-child');

                let downloadText = downloadDom.querySelector('div:first-child');

                downloadText.innerText='下载';

                downloadText.style = 'font-size:12px;font-weight:400;';

                downloadText.setAttribute('id','zhmDouyinDownload');

                let detail = controls.querySelector('xg-icon:nth-of-type(1)').children[0];

                let linkUrl = detail.getAttribute('href')?detail.getAttribute('href'):location.href;

                if(linkUrl.indexOf('www.douyin.com')==-1){

                    linkUrl='//www.douyin.com'+linkUrl;
                }

                downloadText.setAttribute('data-url',linkUrl);

                downloadText.removeAttribute('target');

                downloadText.setAttribute('href','javascript:void(0);');

                downloadDom.onmouseover=function(){

                    downloadDom.className='xgplayer-playback-setting slide-show';

                }

                downloadDom.onmouseout=function(){

                    downloadDom.className='xgplayer-playback-setting';
                }

                let downloadHtml = '';

                downloadOption.forEach(function(item){

                    downloadHtml += `<div class="xgplayer-playratio-item ${item.id}" id="${item.id}">${item.name}</div>`;

                })

                downloadDom.querySelector('.xgplayer-playratio-wrap').innerHTML = downloadHtml;

                downloadDom.querySelector('.xgplayer-slider').style='width:60px important;';

                let autoPlay = document.querySelector('.xgplayer-autoplay-setting');

                autoPlay.after(downloadDom);

                let divDom = document.createElement('div');

                divDom.style="position: absolute;z-index:-999;height:80px;width:40px;margin-top:-80px;"

                downloadDom.appendChild(divDom);

                /*
                    let detailDom = controls.querySelector('xg-icon:nth-of-type(1)');

                    let xgIcon = detailDom.cloneNode(true);

                    if(xgIcon.children[1] && xgIcon.children[1].className=='xg-tips'){

                        xgIcon.children[1].innerHTML='下载视频';
                    }

                    xgIcon.className='xgplayer-detail-entry';

                    xgIcon.children[0].style='margin-right:16px;';

                    xgIcon.children[0].setAttribute('id','zhmDouyinDownload');

                    let linkUrl = xgIcon.children[0].getAttribute('href')?xgIcon.children[0].getAttribute('href'):location.href;

                    xgIcon.children[0].setAttribute('data-url',linkUrl);

                    xgIcon.children[0].removeAttribute('target');

                    xgIcon.children[0].setAttribute('href','javascript:void(0);');

                    xgIcon.children[0].innerHTML="<div class='desc' style='font-size:12px;line-height:20px;'>下载</div>";

                    let autoPlay = document.querySelector('.xgplayer-autoplay-setting');

                    autoPlay.after(xgIcon);
                    */

            }

            ksVideoDownload(){

                var _this = this;

                window.addEventListener('load',function(){

                    async function getControls(){

                        let videoDom = await BaseClass.getElement('.player-video');

                        if(!videoDom){

                            console.log('没有找到DOM');return;

                        }

                        if(videoDom.getAttribute('src').match(/^blob/)){
                            console.log('blob视频无法下载');return;
                        }

                        _this.createKsVideoDownload(videoDom);

                        videoDom.addEventListener('playing',function(){ //播放中
                            console.log("播放中");
                        });

                        videoDom.addEventListener('ended',function(){ //结束

                            console.log("播放结束");

                            let autoPlay = document.querySelector('.auto-warpper').getAttribute('autoplay');

                            if(autoPlay){
                                getControls();
                                return;

                            }

                        }, false);

                        document.querySelector('#toDownload').addEventListener('click',function(){

                            BaseClass.toast('正在下载请稍侯');

                            let playTimeTotal = document.querySelector('.total').innerText;

                            let second = playTimeTotal.match(/(.+):(.+)/);

                            let secondTotal = second[1]*60+parseInt(second[2]);

                            let dataUrl = document.querySelector('#zhmKsDownload').getAttribute('data-url');
                          
                            let account = document.querySelector('.profile-user-name-title')?document.querySelector('.profile-user-name-title').innerText:document.querySelector('.feed-author').innerText;

                            let title = document.querySelector('.video-info-title')?document.querySelector('.video-info-title').innerText:new Date().getTime();

                            let videoFileName = (account && title)?account+'-'+title+'.mp4':new Date().getTime()+'.mp4';
console.log(videoFileName);
                            GM_download(dataUrl,videoFileName);

                            /*

                                if(secondTotal<30){

                                    let videoFileName = new Date().getTime()+'.mp4';

                                    GM_download(dataUrl,videoFileName);

                                }else{

                                    window.open(dataUrl);
                                }
                                */
                        })

                        document.querySelector('#toCopy').addEventListener('click',function(){

                            BaseClass.toast('已复制到剪贴板');

                            GM_setClipboard(videoDom.getAttribute('src'));
                        })

                        document.querySelector('#toLink').addEventListener('click',function(){

                            window.open(videoDom.getAttribute('src'));

                        })

                    }

                    getControls();

                    document.addEventListener('click',function(e){

                        getControls();

                    })

                    window.addEventListener("wheel",getControls);

                    window.addEventListener('keydown',function(e){

                        if(e.code=='ArrowDown' || e.code=='ArrowUp'){

                            getControls();
                        }

                    })

                })


            }

            createKsVideoDownload(videoDom){

                let match = /^https?:\/\/www\.kuaishou\.com\/(.+)/;

                let resp = location.href.match(match);

                if(!resp || (resp[1].indexOf('short-video') == -1 && resp[1].indexOf('video') ==-1 && resp[1].indexOf('new-reco') == -1)){

                    console.log('当前不是视频播放页');return;
                }

                if(resp[1].indexOf('short-video') != -1){

                    let playerArea = document.querySelector('.video-container-player');

                    let playerAreaWidth = playerArea.style.width.match(/(.+)px/);

                    let playerBarProgress = document.querySelector('.player-bar-progress');

                    playerBarProgress.style.width = playerAreaWidth[1]-300+'px';

                    let timeTotal = document.querySelector('.total');

                    timeTotal.style.right='160px';
                }

                let controls = document.querySelector('.right');

                let videoDownloadDom = document.querySelector('#zhmKsDownload');

                if(videoDownloadDom){

                    videoDownloadDom.parentNode.removeChild(videoDownloadDom);
                }

                let detailDom = controls.querySelector('div:nth-of-type(1)');

                let xgIcon = detailDom.cloneNode(true);

                let linkUrl = videoDom.getAttribute('src');

                xgIcon.querySelector('.kwai-player-volume-sound').innerHTML="<div style='cursor:pointer;'>下载</div>";

                let slider = xgIcon.querySelector('.pl-slider');

                slider.style = 'width:49px;padding:10px 5px 20px;';

                let downloadList = '';

                downloadOption.forEach(function(item){

                    downloadList += `<div style="margin-top:10px;color:#FFF;cursor:pointer;" id="${item.id}">${item.name}</div>`;

                })

                slider.innerHTML = downloadList;

                xgIcon.setAttribute('data-url',linkUrl);

                xgIcon.setAttribute('id','zhmKsDownload');

                //console.log(xgIcon);

                //xgIcon.innerHTML="<div style='cursor:pointer;'>下载</div>";

                detailDom.before(xgIcon);

                //重构播放操作按钮

                let zhmKsButton = document.querySelector('#zhmKsButton');

                //console.log(zhmKsButton);

                if(zhmKsButton){

                    //zhmKsButton.parentNode.removeChild(zhmKsButton);

                    return false;
                }

                let buttonIcon = detailDom.cloneNode(true);
                //console.log(buttonIcon);
                buttonIcon.setAttribute('id','zhmKsButton');

                let buttonIconImg = buttonIcon.querySelector('.unmuted-icon');

                if(buttonIconImg){
                    buttonIconImg.style = 'background: url(https://s2-10623.kwimgs.com/udata/pkg/cloudcdn/img/player-setting.ad1f5ce8.svg) no-repeat';
                }
                detailDom.after(buttonIcon);

                let plSlider = buttonIcon.querySelector('.pl-slider');

                plSlider.style='width:auto;padding:10px 10px 25px 10px;';

                plSlider.innerHTML = "";

                let buttonFour = controls.querySelector('div:nth-of-type(4)');

                buttonFour.style.margin='0px';

                let autoPlay = document.querySelector('.play-setting-container');

                if(autoPlay){
                    autoPlay.style.margin='0px 40px 0px 0px';
                }
                let buttonFive = controls.querySelector('div:nth-of-type(5)');

                if(buttonFive){

                    buttonFive.style.margin='15px 0px';

                    buttonFive.onmouseover=function(){

                        setTimeout(function(){

                            let toolTip = document.querySelector('.kwai-player-rotate-tooltip');

                            if(toolTip){

                                toolTip.parentNode.removeChild(toolTip);
                            }


                        },30)

                    }

                    plSlider.appendChild(buttonFive);
                }
                let buttonSix = controls.querySelector('div:nth-of-type(6)');

                if(buttonSix){

                    buttonSix.style.margin='15px 0px';

                    let toolTip = document.querySelector('.kwai-player-fullscreen-tooltip');

                    buttonSix.onmouseover=function(){

                        setTimeout(function(){

                            let toolTip = document.querySelector('.kwai-player-fullscreen-tooltip');

                            if(toolTip){

                                toolTip.parentNode.removeChild(toolTip);

                            }

                        },30)

                    }

                    plSlider.appendChild(buttonSix);
                }
                plSlider.appendChild(buttonFour);

            }

            xiguaVideoDownload(){

                var _this = this;

                window.addEventListener('load',function(){

                    async function getControls(){

                        let videoDom = await BaseClass.getElement('video');

                        if(!videoDom){

                            console.log('没有找到DOM');return;

                        }

                        _this.createXiguaVideoDownload();

                        GM_xmlhttpRequest({

                            method: "get",

                            url: 'http://47.99.158.118/video-crack/v2/parse?content='+encodeURIComponent(location.href),

                            data: '',

                            headers: {'Accept': 'text/plain, text/html,application/json'},

                            onload: function(res){

                                console.log(res);
                                if(res.status==200){

                                     let resp = JSON.parse(res.responseText)

                                     let videoSrc = '';

                                    if(resp.code == 0){

                                        videoSrc = resp.data.url;

                                    }
                                    console.log(videoSrc);
                                    document.querySelector('#toDownload').addEventListener('click',function(){

                                        if(!videoSrc){

                                            BaseClass.toast('该视频无法下载');

                                            return;
                                        }

                                        let videoTitle = document.querySelector('.videoTitle h1').innerText;

                                        let videoAuthor = document.querySelector('.author__userName').title;

                                        BaseClass.toast('正在下载请稍侯');

                                        GM_download(videoSrc,videoTitle+'@'+videoAuthor+'.mp4');
                                    })

                                    document.querySelector('#toCopy').addEventListener('click',function(){

                                        if(!videoSrc){

                                            BaseClass.toast('该视频不能复制地址');

                                            return;
                                        }

                                        BaseClass.toast('已复制到剪贴板');

                                        GM_setClipboard(videoSrc);
                                    })

                                    document.querySelector('#toLink').addEventListener('click',function(){

                                        if(!videoSrc){

                                            BaseClass.toast('该视频不能直接打开');

                                            return;
                                        }

                                        window.open(videoSrc);

                                    })

                                    document.addEventListener('click',function(e){

                                        e.path.forEach(function(item){

                                            if(item.className == 'xgplayer-control-item control_playnext common-control-item'){

                                                setTimeout(function(){

                                                    location.reload();

                                                    return;

                                                },1000)

                                            };

                                        })

                                        var objLink = {};

                                        e.path.forEach(function(item){

                                            if(item.href){

                                                objLink.href = item.href?item.href:'';

                                                objLink.target = item.target?item.target:'';

                                                return;
                                            }

                                        })

                                        if(objLink.href && objLink.target != '_blank'){

                                            location.href = objLink.href;

                                            return;
                                        }
                                    })
                                }

                            },
                            onerror : function(err){
                                console.log('error')
                                console.log(err)
                            }
                        });

                        document.querySelector('video').addEventListener('ended',function(){ //结束

                            console.log("播放结束");
                            /*
                                let autoPlay = document.querySelector('.xg-switch-checked');

                                if(autoPlay){

                                    getControls();
                                    return;
                                }
        */
                            setTimeout(function(){

                                location.reload();

                            },5500);

                        }, false);

                    }

                    getControls();
                })
            }

            createXiguaVideoDownload(){

                let rightGrid = document.querySelector('.xg-right-grid');

                let playControl = rightGrid.querySelector('div:nth-of-type(2)');

                let control = playControl.cloneNode(true);

                let entry= control.querySelector('.xgplayer-control-item__entry');

                entry.innerHTML = '<div class="xgpcPlayer_textEntry"><span>下载</span></div>';

                let popover = control.querySelector('.xgplayer-control-item__popover');

                let downloadList = '<ul>';

                downloadOption.forEach(function(item){

                    downloadList += `<li tabindex="0" role="menuitemradio" aria-checked="false" id="${item.id}">${item.name}</li>`;

                })

                downloadList += '</ul>';

                popover.innerHTML = downloadList;

                playControl.before(control);

                let divDom = document.createElement('div');

                divDom.style="width: 80px; height: 140px;position:absolute;bottom:40px;left:20px;z-index:-1";

                control.appendChild(divDom);

                control.onmouseover=function(){

                    popover.style.display='block';

                }

                control.onmouseout=function(){

                    popover.style.display='none';

                }


            }

            biliVideoDownload(){

                var _this = this;

                window.addEventListener('load',function(){

                    async function getControls(){

                        if(location.href.indexOf('bangumi') != -1){

                            let rightControl = await BaseClass.getElement('.squirtle-controller-wrap-right');

                            if(!rightControl){

                                console.log('没有找到DOM');return;
                            }

                            _this.createBiliVideoDownload();

                        }else{

                            let n=0;

                            let timer = setInterval(function(){

                                let dom = document.querySelector('.bilibili-player-video-btn-quality');

                                let domOther = document.querySelector('.bpx-player-ctrl-quality');

                                if(dom){

                                    clearInterval(timer);

                                    _this.createBiliVideoDownload();

                                    return;

                                }else if(domOther){

                                    clearInterval(timer);

                                    _this.createBiliVideoDownloadOther();

                                    return;

                                }else{
                                    if(n++>30)clearInterval(timer);
                                }

                            },100)

                            return;

                        }

                        //_this.createBiliVideoDownload();

                        let timerZhmIcon = setInterval(function(){

                            let videoDom = [{name:'video',type:'dom'},{name:'bwp_video',type:'dom'},{name:'.bilibili-player-video',type:'class'}];

                            for(let i = 0;i<videoDom.length;i++){

                                let video = videoDom[i].type == 'dom'?document.querySelector(videoDom[i].name):document.querySelector(videoDom[i].name).firstChild;

                                if(video){

                                    clearInterval(timerZhmIcon); //取消定时器

                                    video.addEventListener('play',function(){

                                        console.log("播放开始");

                                        _this.createBiliVideoDownload();
                                    });

                                    video.addEventListener('ended',function(){ //结束

                                        if(location.href.indexOf('bangumi') != -1){

                                            let biliDownload = document.querySelector('#biliDownload');

                                            console.log(biliDownload);

                                            biliDownload.parentNode.removeChild(biliDownload);

                                        }
                                    })

                                    break;

                                }

                            };

                        })

                        }

                    getControls();

                })

            }

            createBiliVideoDownload(){

                var _this = this;

                async function getControls(){

                    let downloadIcon = document.querySelector('#biliDownload');

                    if(downloadIcon){
                        console.log('下载按钮已存在');return;
                    }

                    if(location.href.indexOf('bangumi') != -1){

                        let quality = await BaseClass.getElement('.squirtle-quality-wrap');

                        if(!quality){

                            console.log('没有找到DOM');return;
                        }

                        let control = quality.cloneNode(true);

                        console.log(control.querySelector('.squirtle-video-quality-text'));

                        control.querySelector('.squirtle-video-quality-text').innerText='下载';

                        control.setAttribute('id','biliDownload');

                        quality.before(control);

                    }else if(location.href.indexOf('video') != -1){

                        let autoIconDom = await BaseClass.getElement('.bilibili-player-video-btn-quality');

                        if(!autoIconDom){

                            console.log('没有找到DOM');return;

                        }

                        let control = autoIconDom.cloneNode(true);

                        control.style='margin-right:20px;';

                        control.querySelector('.bui-select-result').innerText='下载';

                        control.querySelector('.bui-select-result').setAttribute('id','biliDownload');

                        autoIconDom.before(control);

                    }else{

                        console.log('当前页面不是视频或番剧');return;

                    }

                    document.querySelector('#biliDownload').addEventListener('click',function(){

                        let bvid = '',avid='';

                        if(location.href.indexOf('bangumi') != -1){

                            bvid = document.querySelector('.av-link').innerText;

                        }else if(location.href.indexOf('video') != -1){

                            let params = location.href.match(/https:\/\/www.bilibili.com\/video\/(.+)\?/);

                            if(params[1].indexOf('av') !=-1){

                                avid = params[1].replace('av','');

                            }else{

                                bvid = params[1].substring(params[1].length-1)=='/'?params[1].substring(0,params[1].length-1):params[1];
                            }

                        }else{

                            BaseClass.toast('当前页面无法下载');return;
                        }

                        if(!bvid && !avid){

                            console.log('未获取bvid或avid');return;
                        }

                        let url = "https://api.bilibili.com/x/web-interface/view?bvid="+bvid+"&aid="+avid;

                        let uri = _this.request('get',url).then((result)=>{

                            let resp = JSON.parse(result);

                            if(resp.code < 0){

                                BaseClass.toast('该视频无法下载');

                                console.log('视频信息接口返回数据错误');return;
                            }

                            //选集cid

                            let pageId = _this.getQueryString('p');

                            let cid = '';

                            if(pageId){

                                cid = resp.data.pages[pageId-1].cid;

                            }else{

                                cid = resp.data.cid;
                            }

                            console.log(cid);

                            let link = 'https://api.bilibili.com/x/player/playurl?avid='+resp.data.aid+'&cid='+cid+'&qn=112';

                            let res = _this.request('get',link).then((result)=>{

                                let data = JSON.parse(result);

                                if(data.code < 0){
                                    BaseClass.toast('该视频无法下载');
                                    console.log('视频地址接口返回数据错误');return;
                                }

                                let downloadUrl = data.data.durl[0].url;

                                //GM_download(downloadUrl);

                                window.open(downloadUrl);

                            })

                            })
                        })

                }

                getControls();

            }

            createBiliVideoDownloadOther(){

                var _this = this;

                async function getControls(){

                    let downloadIcon = document.querySelector('#biliDownload');

                    if(downloadIcon){
                        console.log('下载按钮已存在');return;
                    }

                    if(location.href.indexOf('bangumi') != -1){

                        let quality = await BaseClass.getElement('.squirtle-quality-wrap');

                        if(!quality){

                            console.log('没有找到DOM');return;
                        }

                        let control = quality.cloneNode(true);

                        control.querySelector('.squirtle-video-quality-text').innerText='下载';

                        control.setAttribute('id','biliDownload');

                        quality.before(control);

                    }else if(location.href.indexOf('video') != -1){

                        let autoIconDom = await BaseClass.getElement('.bpx-player-ctrl-quality');

                        if(!autoIconDom){

                            console.log('没有找到DOM');return;

                        }

                        let control = autoIconDom.cloneNode(true);

                        control.style='margin-right:20px;';

                        control.querySelector('.bpx-player-ctrl-quality-result').innerText='下载';

                        control.querySelector('.bpx-player-ctrl-quality-menu').setAttribute('id','biliDownload');

                        let menuItems = control.querySelectorAll('.bpx-player-ctrl-quality-menu-item');

                        menuItems.forEach(function(item){

                            let dataValue = item.getAttribute('data-Value');

                            if(dataValue != 16 && dataValue != 80){

                                item.parentNode.removeChild(item);
                            }

                        });

                        autoIconDom.before(control);

                        control.onmouseover=()=>{

                            control.querySelector('.bpx-player-ctrl-quality-menu').style.display='block';

                        }

                        control.onmouseout=()=>{

                           control.querySelector('.bpx-player-ctrl-quality-menu').style.display='none';

                        }

                    }else{

                        console.log('当前页面不是视频或番剧');return;

                    }

                    document.querySelector('#biliDownload').addEventListener('click',function(e){

                        let biliDataValue = e.target.getAttribute('data-Value')?e.target.getAttribute('data-Value'):'';

                        if(!biliDataValue)return;

                        let bvid = '',avid='';

                        if(location.href.indexOf('bangumi') != -1){

                            bvid = document.querySelector('.av-link').innerText;

                        }else if(location.href.indexOf('video') != -1){

                            let nowUrl = location.href.split('?');

                            let params = nowUrl[0].match(/https:\/\/www.bilibili.com\/video\/(.+)/);

                            if(params[1].indexOf('av') !=-1){

                                avid = params[1].replace('av','');

                            }else{

                                bvid = params[1].substring(params[1].length-1)=='/'?params[1].substring(0,params[1].length-1):params[1];
                            }

                        }else{

                            BaseClass.toast('当前页面无法下载');return;
                        }

                        if(!bvid && !avid){

                            console.log('未获取bvid或avid');return;
                        }

                        let url = "https://api.bilibili.com/x/web-interface/view?bvid="+bvid+"&aid="+avid;

                        let uri = _this.request('get',url).then((result)=>{

                            let resp = JSON.parse(result);

                            if(resp.code < 0){

                                BaseClass.toast('该视频无法下载');

                                console.log('视频信息接口返回数据错误');return;
                            }

                            //选集cid

                            let pageId = _this.getQueryString('p');

                            let cid = '';

                            if(pageId){

                                cid = resp.data.pages[pageId-1].cid;

                            }else{

                                cid = resp.data.cid;
                            }

                            let link = 'https://api.bilibili.com/x/player/playurl?avid='+resp.data.aid+'&cid='+cid+'&qn='+biliDataValue;

                            let res = _this.request('get',link,'',true).then((result)=>{

                                let data = JSON.parse(result);

                                if(data.code < 0){
                                    BaseClass.toast('该视频无法下载');
                                    console.log('视频地址接口返回数据错误');return;
                                }

                                let downloadUrl = data.data.durl[0].url;

                                //GM_download(downloadUrl);

                                window.open(downloadUrl);

                            })

                            })
                        })

                }

                getControls();

            }

            youtubeVideoDownload(){

                var _this = this;

                let timer = setInterval(function(){

                    let url = location.href.match(/^https?:\/\/www\.youtube\.com\/(watch\?v=.+|shorts\/.+)/);

                    if(url){

                        let youtubeIcon = document.querySelector('#zhmlogo');

                        if(youtubeIcon){
                            youtubeIcon.style.opacity=1;
                            return;

                        }

                        _this.zhmLogo();

                        let playWrapHtml = "<div class='zhm_play_video_line'>";

                        playWrapHtml +="<ul class='zhm_play_vide_line_ul'>";

                        let playLine = [
                            {name:'下载线路1',url:'https://zh.savefrom.net/176/#url='},
                            {name:'下载线路2',url:'https://mydowndown.com/y2#'},
                            {name:'下载线路3',url:'https://www.ytdownfk.com/search?url='},
                            {name:'下载线路4',url:'https://yout.com/video/?url='}
                        ];

                        playLine.forEach(function(item){

                            playWrapHtml +=`<li class='playLineTd zhm_play_video_line_ul_li' url='${item.url}' >${item.name}</li>`;

                        })

                        playWrapHtml +="</ul></div>";

                        let zhmPlay = document.getElementById('zhmlogo');

                        let playLineDom = document.createElement('div');

                        playLineDom.className = 'playLineDiv zhm_play_video_wrap';

                        playLineDom.style.display = 'none';

                        playLineDom.innerHTML = playWrapHtml;

                        zhmPlay.appendChild(playLineDom);

                        let playLineTd = document.querySelectorAll('.playLineTd');

                        playLineTd.forEach(function(item){

                            item.addEventListener('click',function(){

                                window.open(item.getAttribute('url')+location.href);

                            })

                        })

                        document.querySelector('.playButton').onmouseover=()=>{

                            document.querySelector(".playLineDiv").style.display='block';

                        }

                        document.querySelector('.playButton').onmouseout=()=>{

                            document.querySelector(".playLineDiv").style.display='none';

                        }

                        _this.zhmLogoDrag('youtube','');

                    }else{

                        let zhmIcon = document.querySelector('#zhmIcon');

                        if(zhmIcon){

                            zhmIcon.parentNode.removeChild(zhmIcon);
                        }


                        let zhmlogo = document.querySelector('#zhmlogo');

                        if(zhmlogo){

                            //zhmlogo.parentNode.removeChild(zhmlogo);

                            zhmlogo.style.opacity=0;
                        }

                    }

                },500)

            }

        }

        var allWeb = [...getCoupon,...jxVideo,...jxMusic,...zhNice,...taobao,...videoDownload];

        var nowWeb=[];

        allWeb.forEach(function(item){

            if(item.isOpen == 0) return true;

            item.web.forEach(function(val){

                let result = location.href.match(val.match);

                if(result){

                    nowWeb.push(val);

                }
            })

        })

        if(nowWeb.length==0){

            let baseClass = new BaseClass();

            console.log('没有匹配该网站或该模块已关闭');return;
        }

        nowWeb.forEach(function(item){

            switch(item.funcName){
                case 'coupon':

                    couponFunc(item);
                    break;
                case 'playVideo':
                    playVideoFunc();
                    break;
                case 'playMusic':
                    playMusicFunc(item);
                    break;
                case 'zhNice':
                    zhNiceFunc();
                    break;
                case 'videoDownload':

                    var videoDownloadClass = new VideoDownloadClass();

                    var {funcName,match:nowMatch,node:nowNode,name:nowName} = item;

                    if(item.isWebOpen == 0){

                        console.log(item.name+'已关闭');return;

                    }else{

                        videoDownloadClass[nowName]();
                    }

                    break;
                case 'taobaoSearch':
                    taobaoSearchFunc(item)
                    break;

            }

        })

        function couponFunc(item){

            var couponClass = new CouponClass();

            var {funcName,match:nowMatch,node:nowNode,name:nowName} = item;

            var couponStyle =`
                    html{
                    --right:100%;
                    --left:100%;
                }
                .zhm_coupon{
                    width:fit-content;
                    display: flex;
                    flex-direction:row;
                    justify-content: space-between;
                    align-items:flex-start;
                    font-size:14px;
                    position: relative;
                    margin-bottom:15px;
                }
                .zhm_left{
                    display: flex;
                    flex-direction:row;
                    justify-content:flex-start;
                    align-items: center;
                    font-size:14px;
                    background: radial-gradient(circle at right top, transparent 8px,#fff 0) top left /var(--right) 51% no-repeat,
                                radial-gradient(circle at right bottom, transparent 8px, #fff 0) bottom left /var(--right) 51% no-repeat;
                    filter: drop-shadow(2px 2px 3px #888);
                    height:84px;
                    width:100%;
                }
                .zhm_img_icon{
                    padding:4px 0px 0px 5px;
                    margin-right:5px;
                }
                .zhm_img_icon img{
                    width:47px;
                }
                .zhm_content{
                    display: flex;
                    flex-direction:column;
                    margin-right: 18px;
                }
                .zhm_money{
                    display: flex;
                    flex-direction:row;
                    justify-content: flex-start;
                    align-items: center;
                }
                .zhm_amount_money{
                    display: flex;
                    align-items: flex-start;
                }
                .zhm_money_sign{
                    color:#f23030;
                    font-size: 20px;
                    font-family: Arial;
                }
                .zhm_money_num{
                    color:#f23030;
                    font-size:36px;
                    margin-left: 2px;
                }
                .zhm_condition{
                    color:#fb0f3a;
                    background-color: #fff4ec;
                    margin-top:5px;
                    margin-left: 5px;
                    padding:2px 5px;
                    font-size:12px;
                }
                .zhm_time{
                    display: flex;
                    flex-direction:row;
                    margin-top: -5px;
                    padding:2px 4px;
                }
                .zhm_term{
                    color:#fb0f3a;
                    border: 1px solid #fb0f3a;
                    border-radius:2px;
                    align-items: center;
                    padding:0px 4px;
                    font-size:12px;
                    height: 18px;
                }
                .zhm_date{
                    font-size: 14px;
                    font-weight: 500;
                    padding-left:8px;

                }
                .zhm_circle{
                    background: #fb0f3a url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAACXBIWXMAAAsSAAALEgHS3X78AAAAzUlEQVQYlS3NMUoDQRiG4Xcmu9lAXBQbq+1CCqucwsbOO3gAS29h4Qm8gRdIMKVglQVBFiSFjYKBqWZ2d/7PIvYPPE6SMCHvcD8HuLzBUsIKDyY8AN4RU+J9/8nH8oLYJ3wWchxBjJHtZkN1fsbp9omvhzv6ccDjQJLatlXXdZIk5awkKVzdKk9W8gBFUVDXNQA2jJTA7GSOmR2LpmkIIWA546spvO5wL29Qz3GSBBCHnnwIzO4f0fMaYoKy/Acm8A6+fxkX15ANqimY8QemCm920r1aUAAAAABJRU5ErkJggg==) repeat-y;
                    margin-top:10px;
                    width: 10px;
                    height:66px;
                    position: absolute;
                    right:44px;
                    z-index:2;
                    filter:none;
                }
                .zhm_link_coupon{
                    display: flex;
                    flex-direction:row;
                    align-items:center;
                    filter: drop-shadow(2px 2px 3px #888);
                    background: radial-gradient(circle at left top, transparent 8px, #fb053a 0) top right /var(--left) 50% no-repeat,
                                radial-gradient(circle at left bottom, transparent 8px, #fb053a 0) bottom right /var(--left) 50% no-repeat;
                    height: 84px;

                }
                .zhm_link_text{
                    cursor:pointer;
                    margin-top: 10px;
                    margin-left: 12px;
                    writing-mode:vertical-lr;
                    letter-spacing:10px;
                    color: #fff !important;
                    font-size:16px;
                    font-family:"Microsoft YaHei";
                    text-decoration:none;
                    width:38px;
                    background: radial-gradient(circle at left top, transparent 8px, #fb053a 0) top right /var(--left) 50% no-repeat,
                                radial-gradient(circle at left bottom, transparent 8px, #fb053a 0) bottom right /var(--left) 50% no-repeat;

                }
                .zhm_link_text:hover{
                text-decoration:none;
                font-weight:800;
                font-family:"Microsoft YaHei";
                }
                `;

            domStyle .appendChild(document.createTextNode(couponStyle));

            domHead.appendChild(domStyle);

            let n=0;

            let couponTimer = setInterval(function(){

                n++;

                let pageNode = document.querySelector(nowNode)

                if(pageNode){

                    clearInterval(couponTimer);

                    couponClass[nowName]();

                }else{

                    if(n==couponTimerNum) clearInterval(couponTimer);
                }

            },100)
            }

        function playVideoFunc(){

            var playVideoClass = new PlayVideoClass();

            playVideoClass.zhmLogo();

            //custom add line

            if(GM_getValue('videoPlayLineAdd')==22 && GM_getValue('playVideoLineText')){

                let lineObj = playVideoClass.getLine(GM_getValue('playVideoLineText'));

                if(lineObj){

                    playLine = [...lineObj,...playLine];
                }

            }

            //template:icon,playLine;

            let playWrapHtml = "<div class='zhm_play_video_line'>";

            playWrapHtml +="<div><ul class='zhm_play_vide_line_ul'>";

            playLine.forEach(function(item){

                let selected = '';

                if(playVideoClass.getCookie('playLineAction') == item.url){

                    selected = 'zhm_line_selected';

                }

                playWrapHtml +=`<li class='playLineTd zhm_play_video_line_ul_li ${selected}' url='${item.url}' >${item.name}</li>`;

            })

            playWrapHtml += "</div>";

            let zhmPlay = document.getElementById('zhmlogo');

            let playLineDom = document.createElement('div');

            playLineDom.className = 'playLineDiv zhm_play_video_wrap';

            playLineDom.style.display = 'none';

            playLineDom.innerHTML = playWrapHtml;

            zhmPlay.appendChild(playLineDom);

            //template:node;播放区域

            let playJxHtml = "<div class='zhm_play_video_jx'>";

            playJxHtml += "<iframe allowtransparency=true frameborder='0' scrolling='no' allowfullscreen=true allowtransparency=true name='jx_play' style='height:100%;width:100%' id='playIframe'></iframe></div>";

            let jxVideoData = [
                {funcName:"playVideo", node:".player__container" ,match:/https:\/\/v.qq.com\/x\/cover\/[a-zA-Z0-9]+.html/,areaClassName:'mod_episode',name:'qqPC'},
                {funcName:"playVideo", node:"#player-container" ,match:/https:\/\/v.qq.com\/x\/cover\/[a-zA-Z0-9]+\/[a-zA-Z0-9]+.html/,areaClassName:'mod_episode',name:'qqPC'},
                {funcName:"playVideo", node:".container-player" ,match:/v\.qq\.com\/x\/page/,areaClassName:'mod_episode'},
                {funcName:"playVideo", node:"#player",match:/m\.v\.qq\.com\/x\/m\/play\?cid/},
                {funcName:"playVideo", node:"#player",match:/m\.v\.qq\.com\/x\/play\.html\?cid=/},
                {funcName:"playVideo", node:"#player",match:/m\.v\.qq\.com\/play\.html\?cid\=/},
                {funcName:"playVideo", node:"#player",match:/m\.v\.qq\.com\/cover\/.*html/},


                {funcName:"playVideo", node:"#flashbox",match:/^https:\/\/www\.iqiyi\.com\/[vwa]\_/,areaClassName:'qy-episode-num',name:'iqiyiPc'},
                {funcName:"playVideo", node:".m-video-player-wrap",match:/^https:\/\/m.iqiyi\.com\/[vwa]\_/,areaClassName:'m-sliding-list'},
                {funcName:"playVideo", node:".intl-video-wrap",match:/^https:\/\/www\.iq\.com\/play\//,areaClassName:'m-sliding-list'},

                {funcName:"playVideo", node:"#player",match:/m\.youku\.com\/alipay_video\/id_/},
                {funcName:"playVideo", node:"#player",match:/m\.youku\.com\/video\/id_/},
                {funcName:"playVideo", node:"#player",match:/v\.youku\.com\/v_show\/id_/},
                {funcName:"playVideo", node:"#player",match:/v\.youku\.com\/v_play\/id_/},

                //{funcName:"playVideo", node:".player-container",nodeType:'id',match:/www\.bilibili\.com\/video/},
                {funcName:"playVideo", node:"#bilibili-player",nodeType:'id',match:/www\.bilibili\.com\/video/,name:'biliPc',areaClassName:'video-episode-card'},
                {funcName:"playVideo", node:"#player_module",nodeType:'id',match:/www\.bilibili\.com\/bangumi/,areaClassName:'ep-list-wrapper report-wrap-module'},
                {funcName:"playVideo", node:".player-container",nodeType:'class',match:/m\.bilibili\.com\/bangumi/,areaClassName:'ep-list-pre-container no-wrap'},
                {funcName:"playVideo", node:".mplayer",nodeType:'class',match:/m\.bilibili\.com\/video\//},

                {funcName:"playVideo", node:".video-area",nodeType:'class',match:/m\.mgtv\.com\/b/},
                {funcName:"playVideo", node:"#mgtv-player-wrap",nodeType:'id',match:/mgtv\.com\/b|l/,areaClassName:'episode-items clearfix'},
                {funcName:"playVideo", node:".x-player",nodeType:'class',match:/tv\.sohu\.com\/v/},
                {funcName:"playVideo", node:".x-cover-playbtn-wrap",nodeType:'class',match:/m\.tv\.sohu\.com/},
                {funcName:"playVideo", node:"#playerWrap",nodeType:'id',match:/film\.sohu\.com\/album\//},

                {funcName:"playVideo", node:"#le_playbox",nodeType:'id',match:/le\.com\/ptv\/vplay\//,areaClassName:'juji_grid'},

                {funcName:"playVideo", node:"#player",nodeType:'id',match:/play\.tudou\.com\/v_show\/id_/},

                {funcName:"playVideo", node:"#pptv_playpage_box",nodeType:'id',match:/v\.pptv\.com\/show\//},

                {funcName:"playVideo", node:"#player",nodeType:'id',match:/vip\.1905.com\/play\//},

                {funcName:"playVideo", node:"#vodPlayer",nodeType:'id',match:/www\.1905.com\/vod\/play\//},
            ];

            let jxVideoWeb = jxVideoData.filter(function(item){

                return location.href.match(item.match);

            })

            playVideoClass.zhmLogoDrag('video',jxVideoWeb);

            //是否在播放页

            if(jxVideoWeb.length > 0){

                var {funcName,match:nowMatch,node:nowNode,name:nowName} = jxVideoWeb[0];

                //鼠标经过显示线路
                document.querySelector('.playButton').onmouseover=()=>{

                    document.querySelector(".playLineDiv").style.display='block';

                }

                document.querySelector('.playButton').onmouseout=()=>{

                    document.querySelector(".playLineDiv").style.display='none';

                }

                //选择线路解析播放

                var playLineTd = document.querySelectorAll('.playLineTd');

                playLineTd.forEach(function(item){

                    item.addEventListener('click',function(){

                        playLineTd.forEach(function(e){

                            e.setAttribute('class','playLineTd zhm_play_video_line_ul_li');
                        })

                        this.setAttribute('class','playLineTd zhm_play_video_line_ul_li zhm_line_selected');

                        playVideoClass.setCookie('playLineAction',this.getAttribute('url'),30);

                        let nowWebNode = document.querySelector(nowNode);

                        if(nowWebNode){

                            nowWebNode.innerHTML = playJxHtml;

                            let playIframe = document.querySelector('#playIframe');

                            playIframe.src= item.getAttribute('url')+location.href;

                        }else{

                            console.log('视频网站结点不存在');
                        }

                    })

                })

                /*--特殊处理--*/
                //优酷去广告
                if(nowNode=="#player"){

                    setTimeout(function(){

                        let youkuAd = document.querySelector('.advertise-layer');

                        let ykAd = youkuAd.lastChild;

                        ykAd.parentNode.removeChild(ykAd);

                        document.querySelector('.kui-dashboard-0').style='display:flex';

                        let playVideo = document.querySelector('.video-layer video');

                        playVideo.play();

                        let n=0;

                        //暂停
                        document.querySelector('.kui-play-icon-0').addEventListener('click',function(){

                            let video = document.querySelector('.video-layer video');

                            if(n++%2 == 0){

                                video.pause();

                            }else{

                                video.play();
                            }

                        });

                        playVideo.addEventListener('timeupdate',function(){ //播放时间改变

                            let youkuAd = document.querySelector('.advertise-layer');

                            let ykAd = youkuAd.lastChild;


                            if(ykAd){

                                ykAd.parentNode.removeChild(ykAd);
                            }

                            document.querySelector('.kui-dashboard-0').style='display:flex';
                        });

                    },3000)
                }
                //爱奇艺去广告
                if(nowNode=="#flashbox"){

                    setTimeout(function(){

                        let dom = document.querySelector('.skippable-after');

                        if(dom){

                            dom.click();

                        }

                    },3000)

                }

                //腾讯去vip弹窗
                if(nowNode=="#player-container"){

                    let n = 0;

                    let timer = setInterval(function(){

                        if(n++ < 100){

                            let panelTipVip = document.querySelector('.panel-overlay');

                            if(panelTipVip){

                                panelTipVip.style.display='none';

                                clearInterval(timer);
                            }

                        }else{

                            clearInterval(timer);

                        }

                    },100)



                    }
                //乐视选集处理
                if(nowNode == "#le_playbox"){

                    setTimeout(function(){

                        let jBlock = document.querySelectorAll('.j_block');

                        if(!jBlock) return;

                        for(let i=0;i<jBlock.length;i++){

                            let videoId = jBlock[i].getAttribute('data-vid');

                            let link = `https://www.le.com/ptv/vplay/${videoId}.html`;

                            jBlock[i].firstChild.setAttribute('href',link);
                        }
                    },3000)
                }

                //B站大会员url处理,页面class不一致
                if(nowNode == ".player-container"){

                    setTimeout(function(){

                        if(!document.querySelector('.player-container') && !document.querySelector('.bpx-player-container')){

                            nowNode = '.player-mask';

                        }else{

                            nowNode = '.bpx-player-container';
                        }

                    },3000)
                }

                //全局click监听
                document.addEventListener('click',function(e){

                    /*爱奇艺选集去广告*/
                    if(nowName=='iqiyiPc'){

                        e.path.forEach(function(item){

                            if(item.className.indexOf('select-item')!= -1){

                                setTimeout(function(){

                                    location.href=location.href;

                                },1000)

                            }

                        })

                        setTimeout(function(){

                            let dom = document.querySelector('.skippable-after');

                            if(dom){

                                dom.click();

                            }else{

                                return;
                            }

                        },5000)

                    }

                    let areaClassName = [];

                    e.path.filter(function(item){

                        if(item.className == nowWeb[0].areaClassName){

                            areaClassName=item;

                        };

                    })

                    if(areaClassName.length == 0){
                        console.log('不在选集范围');
                        return;
                    }

                    if(nowName=='qqPC'){

                        e.path.forEach(function(item){

                            if(item.className=='episode-list-rect__item' || item.className.indexOf('episode-item') != -1){

                                setTimeout(function(){

                                    location.href=location.href;

                                },1000)

                            }

                        })
                    }

                    if(nowName == 'biliPc'){
                        //在元素范围内,不用跳转,
                        let className = ['bpx-player-video-area'];//点击元素范围,范围取视频播发区域。后续有跳转错误,新增区域即可。

                        let matchNum = 0;

                        e.path.filter(function(item){

                            if(className.indexOf(item.className) != -1){
                                matchNum++;
                            }

                        })

                        if(matchNum > 0){
                            return;
                        }
                        //视频页面选集跳转
                        setTimeout(function(){

                            let videoClassName = ['video-episode-card'];//视频页面续集dom

                            e.path.filter(function(item){

                                if(videoClassName.indexOf(item.className) != -1){
                                    location.href = location.href;
                                }

                            })

                        })

                    }

                    var objLink = {};

                    e.path.forEach(function(item){

                        if(item.href){

                            objLink.href = item.href?item.href:'';

                            objLink.target = item.target?item.target:'';

                            return;
                        }

                    })

                    if(objLink.href && objLink.target != '_blank'){

                        location.href = objLink.href;

                        return;
                    }

                })

                /*腾讯视频点击其它视频跳转*/
                if(nowName=='qqPC'){

                    let figure = document.querySelectorAll('.figure');

                    let figureDetail = document.querySelectorAll('.figure_detail');

                    let listItem = [...figure,...figureDetail];

                    if(listItem.length > 0){

                        listItem.forEach(function(item){

                            item.addEventListener('click',function(){

                                let link = this.getAttribute('href');

                                if(link){

                                    location.href = link;

                                    return;
                                }

                            })

                        });

                    }
                }

            }

        }

        function playMusicFunc(){

            if(self.frameElement && self.frameElement.tagName == "IFRAME"){

                return;
            }

            var playMusicClass = new PlayMusicClass();

            var musicId = Math.ceil(Math.random()*100000000);

            //netease 路由两次,需重定义
            var newUrl = location.href;

            let jxMusicWeb = jxMusic[0].web.filter(function(item){

                return newUrl.match(item.match);

            })

            if(jxMusicWeb.length){

                let timerZhmIcon = setInterval(function(){

                    if (document.querySelector('#zhmIcon')){

                        clearInterval(timerZhmIcon); // 取消定时器

                        if(jxMusicWeb[0].name=='kuwo'){

                            setTimeout(function(){

                                let control = document.querySelector('.icon-bar_icon_download_');

                                let icon = control.cloneNode(true);

                                icon.className = '';

                                icon.style='margin-left:10px;';

                                icon.innerHTML = "<a style='font-size:10px;white-space: nowrap;cursor:pointer;color:#555;' id='kuwoDownload'>下载</a>";

                                let controls = document.querySelector('.col_r');

                                controls.before(icon);

                                document.querySelector('#kuwoDownload').addEventListener('click',function(){

                                    let audioSrc = document.querySelector("audio").src;

                                    let songName = document.querySelector('.control .song_name').title;

                                    let artist = document.querySelector('.control .artist').title;

                                    GM_download(audioSrc,songName+'-'+artist+'.mp3');

                                })

                            },2000)
                        }

                        if(jxMusicWeb[0].name=='ximalaya'){

                            setTimeout(function(){
                                //播放器创建下载icon
                                let xmControls = document.querySelector('.xm-player-oprations');

                                let control = xmControls.querySelector('a:nth-of-type(2)');

                                let icon = control.cloneNode(true);

                                icon.innerHTML = "<span style='font-size:10px;white-space: nowrap;cursor:pointer;color:#FFF;' id='ximaDownload'>下载</span>";

                                xmControls.style='position: relative;margin-left:-20px;';

                                document.querySelector('.xm-player-progress').style.width='450px';

                                document.querySelector('.xm-player-playtime').style='position: absolute;right:40px;';

                                xmControls.prepend(icon);
                                //播放器下载事件
                                document.querySelector('#ximaDownload').addEventListener('click',function(){

                                    let fmTitle = document.querySelector('.fm-title');

                                    let fmTitleMatch = fmTitle.href.match(/^https?:\/\/www\.ximalaya\.com\/sound\/(\S*)$/);

                                    let url = 'https://mobile.ximalaya.com/mobile-playpage/track/v3/baseInfo/'+new Date().getTime()+'?device=web&trackId='+fmTitleMatch[1];

                                    playMusicClass.request('get',url).then((result)=>{

                                        let data = JSON.parse(result);

                                        let playUrl = data.trackInfo.playUrlList[1].url;

                                        let str1 = playUrl.replaceAll('-','+');

                                        let str2 = str1.replaceAll('_','/');

                                        let num = str2.length%4;

                                        if(num){

                                            str2 += '===='.substr(num);
                                        }

                                        let decrypted = CryptoJS.AES.decrypt({

                                            ciphertext: CryptoJS.enc.Base64.parse(str2)

                                        }, CryptoJS.enc.Hex.parse("aaad3e4fd540b0f79dca95606e72bf93"), {

                                            mode: CryptoJS.mode.ECB,

                                            padding: CryptoJS.pad.Pkcs7

                                        }).toString(CryptoJS.enc.Utf8);

                                        console.log(decrypted);

                                        if(decrypted){

                                            GM_download(decrypted,data.trackInfo.title+'.mp3');

                                        }else{
                                            console.log('解密地址失败');
                                        }

                                    })

                                })

                                //页面列表创建批量下载
                                let urlMatch = newUrl.match(/^https:\/\/www.ximalaya.com\/album\/[0-9]+/);

                                if(urlMatch){

                                    let soundList = document.querySelector('#anchor_sound_list');

                                    if(soundList){

                                        let soundListHead = soundList.querySelector('.head');

                                        let soundListHeadTitle = soundListHead.querySelector('.sort').lastChild;

                                        let data = [{name:'批量下载',id:'batchDownload'},{name:'重置',id:'reset'},{name:'全选',id:'selectAll'}];

                                        data.forEach(function(item){

                                            let control = soundListHeadTitle.cloneNode(true);

                                            control.setAttribute('id',item.id);

                                            control.innerText = item.name;

                                            soundListHeadTitle.after(control);

                                            control.before(" | ");

                                        });

                                        playMusicClass.xmlyCreateCheckbox();

                                        document.querySelector('#selectAll').addEventListener('click',function(){

                                            let zhmCheckbox = soundList.querySelectorAll("input[name='zhmCheckbox']");

                                            zhmCheckbox.forEach(function(item){

                                                if(!item.checked){

                                                    item.checked=true;
                                                }

                                            })

                                        });

                                        document.querySelector('#reset').addEventListener('click',function(){

                                            let zhmCheckbox = soundList.querySelectorAll("input[name='zhmCheckbox']");

                                            zhmCheckbox.forEach(function(item){

                                                item.checked = false;

                                            })

                                        })

                                        document.querySelector('#batchDownload').addEventListener('click',function(){

                                            //BaseClass.toast('已下载,请稍候');

                                            let zhmCheckbox = soundList.querySelectorAll("input[name='zhmCheckbox']");

                                            zhmCheckbox.forEach(function(item){

                                                if(item.checked){

                                                    let scrMatch = item.value.match(/\/sound\/([0-9]+)/);

                                                    let url = 'https://mobile.ximalaya.com/mobile-playpage/track/v3/baseInfo/'+new Date().getTime()+'?device=web&trackId='+scrMatch[1];

                                                    playMusicClass.request('get',url).then((result)=>{

                                                        let data = JSON.parse(result);

                                                        let playUrl = data.trackInfo.playUrlList[1].url;

                                                        let str1 = playUrl.replaceAll('-','+');

                                                        let str2 = str1.replaceAll('_','/');

                                                        let num = str2.length%4;

                                                        if(num){

                                                            str2 += '===='.substr(num);
                                                        }

                                                        let decrypted = CryptoJS.AES.decrypt({

                                                            ciphertext: CryptoJS.enc.Base64.parse(str2)

                                                        }, CryptoJS.enc.Hex.parse("aaad3e4fd540b0f79dca95606e72bf93"), {

                                                            mode: CryptoJS.mode.ECB,

                                                            padding: CryptoJS.pad.Pkcs7

                                                        }).toString(CryptoJS.enc.Utf8);

                                                        //console.log(decrypted);

                                                        if(decrypted){

                                                            GM_download(decrypted,data.trackInfo.title+'.mp3');

                                                        }else{
                                                            console.log('解密地址失败');
                                                        }

                                                    })

                                                }

                                            })

                                        })

                                        //正序倒序事件

                                        soundListHead.querySelector('.sort').firstChild.addEventListener('click',function(){

                                            setTimeout(function(){

                                                playMusicClass.xmlyCreateCheckbox();

                                            },2000)

                                        });

                                        soundListHeadTitle.addEventListener('click',function(){

                                            setTimeout(function(){

                                                playMusicClass.xmlyCreateCheckbox();

                                            },2000)

                                        });

                                        //翻页事件

                                        let pageBar = document.querySelector('.pagination-page');

                                        pageBar.addEventListener('click',function(){

                                            setTimeout(function(){

                                                playMusicClass.xmlyCreateCheckbox();

                                            },2000)

                                        })
                                        //跳页事件
                                        document.querySelector('button[type=submit]').addEventListener('click',function(){

                                            setTimeout(function(){

                                                playMusicClass.xmlyCreateCheckbox();

                                            },1000)

                                        })
                                    }
                                }else{
                                    console.log('url地址错误');
                                }

                            },1000);

                            //全局点击事件
                            document.addEventListener('click',function(e){

                                var objLink = {};

                                e.path.forEach(function(item){

                                    if(item.href){

                                        objLink.href = item.href?item.href:'';

                                        objLink.target = item.target?item.target:'';

                                        return;
                                    }

                                })

                                if(objLink.href && objLink.target != '_blank'){

                                    location.href = objLink.href;

                                    return;
                                }
                            })

                        }

                        if(jxMusicWeb[0].name=='kugou'){

                            let aDom = document.querySelectorAll('a');

                            aDom.forEach(function(item){

                                let dataObj = item.getAttribute('dataobj');

                                if(dataObj){

                                    item.removeAttribute('dataobj');

                                    item.setAttribute('target','_blank');
                                    //console.log(dataObj);
                                }

                            })

                            if(couponUrl.indexOf('mixsong')!=-1 || couponUrl.indexOf('song') != -1 || couponUrl.indexOf('share') != -1){

                                setTimeout(function(){

                                    let volumeDom = document.querySelector('#volume');

                                    let downloadDom = volumeDom.cloneNode(true);

                                    downloadDom.removeAttribute('id');

                                    downloadDom.style='margin-top:30px';

                                    downloadDom.innerHTML = "<a style='color:#fff;font-size:10px;white-space:nowrap;cursor:pointer;' id='kugouDownload' javascript:void(0);>下载</a>";

                                    volumeDom.before(downloadDom);

                                    volumeDom.style='left:50px;';

                                    document.querySelector('#mode').style='margin-left:90px;';

                                    document.querySelector('#pb_download').style='margin-left:130px;';

                                    document.querySelector('#pb_share').style='margin-left:170px;';

                                    document.querySelector('#list').style='right:-20px;';

                                    document.querySelector('#kugouDownload').addEventListener('click',function(){

                                        let audio = document.querySelector('#myAudio');

                                        let audioSrc = audio.getAttribute('src');

                                        let singerName = document.querySelector('.singerName').title;

                                        let songName = document.querySelector('#songNameTemp').title;

                                        GM_download(audioSrc,songName+'-'+singerName.substr(0,singerName.length-1)+'.mp3');

                                    })

                                },1000)
                            }
                            console.log(couponUrl);
                        }

                        if(jxMusicWeb[0].name=='netease' && location.href == 'https://music.163.com/st/download'){

                            return false;
                        }

                        let zhmPlay = document.getElementById('zhmIcon');

                        setTimeout(function(){

                            playMusicClass.zhmLogo();

                            playMusicClass.zhmLogoDrag('music',jxMusicWeb);

                        },iconWaitTime);

                    }else{

                        playMusicClass.createElement('div','zhmIcon');
                    }

                })

             }else{

                 let zhmPlayDom = document.querySelector('#zhmIcon');

                 if(zhmPlayDom){

                     zhmPlayDom.parentNode.removeChild(zhmPlayDom);

                 }

                 console.log('当前音频网址没有添加匹配或匹配错误');

             }

        }

        function zhNiceFunc(){

            var zhClass = new ZhClass();

            //关闭登录弹框
           (async function(){

               let loginModalWrapper = await BaseClass.getElement(".Modal-wrapper");

               if(loginModalWrapper){

                   let closeButton = loginModalWrapper.querySelector('.Modal-closeButton');

                   if(closeButton){

                       closeButton.click();

                   }

               }

            })()

            var zhData = [
                {func:'removeVideo',isOpen:GM_getValue('removeVideo','0'),isOnscroll:1,onload:1},
                {func:'removeAD',isOpen:GM_getValue('removeAD','22'),isOnscroll:0,onload:0},
                {func:'downloadVideo',isOpen:GM_getValue('downloadVideo','22'),isOnscroll:0,onload:0},
                {func:'removeRight',isOpen:GM_getValue('removeRight','0'),isOnscroll:0,onload:0},
                {func:'changeLink',isOpen:GM_getValue('changeLink','22'),isOnscroll:0,onload:0},
                {func:'removeKeyword',isOpen:GM_getValue('removeKeyword','0'),isOnscroll:1,onload:1},
                {func:'showSpecialColumn',isOpen:GM_getValue('specialColumn','22'),isOnscroll:1,onload:1},
                {func:'showVideoTitle',isOpen:GM_getValue('videoTitle','22'),isOnscroll:1,onload:1},
                {func:'removeAuthorName',isOpen:GM_getValue('removeAuthorName','0'),isOnscroll:1,onload:1},
                {func:'removeYanxuan',isOpen:GM_getValue('removeYanxuan','0'),isOnscroll:1,onload:1},
            ]

            zhData.forEach(function(item){
                if(item.isOpen==22 && item.onload==0){
                    zhClass[item.func]();
                }
            })

            window.onload=function(){
                zhData.forEach(function(item){
                    if(item.isOpen==22 && item.onload==1){
                        zhClass[item.func]();
                    }
                })
            }
            window.onscroll = function(){

                var scrollTop = document.documentElement.scrollTop;

                if(scrollTop > 200){

                    zhData.forEach(function(item){
                        if(item.isOpen==22 && item.isOnscroll==1){

                            zhClass[item.func]();
                        }
                    })

                }

            }

        }

        function taobaoSearchFunc(item){

            let timer = setInterval(function(){

                let taobaoIconDom = document.querySelector('#taobaoIconSelect');

                let baseClass = new BaseClass();

                let filterTmall = baseClass.getQueryString('filter_tianmao');

                if(!taobaoIconDom){

                    let filters = document.querySelectorAll('.filters >a');

                    if(filters.length>0){

                        for(let i=0;i<filters.length;i++){

                            let dataValue = filters[i].getAttribute('data-value');

                            if(dataValue == 'tmall'){

                                //console.log(dataValue);

                                let taobaoDom = filters[i].cloneNode(true);

                                taobaoDom.querySelector('.text').innerText='淘宝';

                                taobaoDom.setAttribute('id','taobaoIconSelect');

                                taobaoDom.setAttribute('data-value','taobao');

                                if(filterTmall=='taobao'){
                                    taobaoDom.setAttribute('data-action','remove');
                                    taobaoDom.className='filter icon-tag J_Ajax icon-hover';
                                }else{
                                    taobaoDom.removeAttribute('data-action');
                                    taobaoDom.className='filter icon-tag J_Ajax';
                                }

                                filters[i].before(taobaoDom);
                                break;
                            }
                        }

                    }

                }else{

                    if(filterTmall=='taobao'){
                        taobaoIconDom.setAttribute('data-action','remove');
                        taobaoIconDom.className='filter icon-tag J_Ajax icon-hover';
                    }else{
                        taobaoIconDom.removeAttribute('data-action');
                        taobaoIconDom.className='filter icon-tag J_Ajax';
                    }


                }



                if(filterTmall=='taobao'){

                    let goodsList = document.querySelectorAll('.items > .item');

                    goodsList.forEach(function(item){

                        let iconLiClass = item.querySelector('.icons>li>a>span');

                        let classNameTm=['icon-service-tianmao','icon-service-tianmaoguoji'];

                        if(iconLiClass && classNameTm.indexOf(iconLiClass.className) != -1){

                            item.style='display:none;';

                        }

                    })

                    //clearInterval(timer);

                }

            },500)

        }

    }
})();