您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
使用:把要看的视频标签页打开,看完当前标签页视频后,自动关闭当前页面,自动播放看下一个标签页的视频
// ==UserScript== // @name 四川干部网络学院视频自动监控与标签页管理 // @namespace http://tampermonkey.net/ // @version 1.5 // @description 使用:把要看的视频标签页打开,看完当前标签页视频后,自动关闭当前页面,自动播放看下一个标签页的视频 // @author Thruon // @match https://web.scgb.gov.cn/* // @include https://web.scgb.gov.cn/* // @grant none // @license MIT // @supportURL 3339607643(QQ) // ==/UserScript== (function() { 'use strict'; let pausedSeconds = 0; // 记录视频暂停的秒数 let checkInterval; // 状态检测的间隔计时器 const MAX_PAUSED_TIME = 5; // 最大允许暂停时间(秒) function main() { console.log('视频开始检测'); /** checkInterval = setInterval(() => { reloadPage(); if (document.visibilityState === 'visible' && !document.querySelector('.ivu-tag-color-white')) { document.querySelector('#videoPlayer_html5_api').play() }else{ document.querySelector('#videoPlayer_html5_api').pause(); if (document.querySelector('#videoPlayer_html5_api').paused && document.visibilityState === 'visible') { pausedSeconds++; console.log(`视频已暂停 ${pausedSeconds} 秒`); // 如果暂停超过设定时间 if (pausedSeconds >= MAX_PAUSED_TIME) { clearInterval(checkInterval); // attemptTabManagement(); } } else { pausedSeconds = 0; } } } , 1000); */ checkInterval = setInterval(() =>{ // 播放完当前视频,重新加载一下页面 palyFinishReload(); // 获取当前页面是否可见、视频是否播放完毕 let visib = checkCurrentVisible(); let finsh = checkVideoFinsh(); // 如果标签页不可见,停止播放 if( !visib ) { getVideoElement().pause(); return; } // 如果视频全部播放完毕,关闭当前标签页 if( finsh ) { clearInterval(checkInterval); closeWindow(); }else { // 如果标签页可见并且没有播放完毕,继续播放 getVideoElement().play(); } } ,1000); } function closeWindow() { setTimeout(() => { window.close(); }, 1000); } function palyFinishReload() { let video = getVideoElement(); let progress = (video.currentTime / video.duration) * 100; if (progress >= 100) { location.reload(); } } function checkCurrentVisible() { if(document.visibilityState === 'visible') { return true; } return false; } function getVideoElement() { return document.querySelector('#videoPlayer_html5_api') } function checkVideoFinsh() { let videoTargetNum = document.getElementsByClassName('name').length; let videoFinishNum = document.getElementsByClassName('ivu-tag-text').length; if (videoTargetNum === videoFinishNum) { return true; } return false; } //启动程序 if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', main); } else { main(); }; })();