// ==UserScript== // @name 视频倍速播放(追剧学习神器) // @name:zh 视频倍速播放(追剧学习神器) // @name:en Super speed video all net // @namespace https://greasyfork.org/zh-CN/scripts/421170 // @icon data:image/gif;base64,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 // @version 1.7.2 // @description 视频倍速,全网视频倍速播放脚本: ①默认快捷键: x:加速 0.1, c:减速 0.1, z:复位 1.0 ②调节右上角加速框右侧上下按钮即可调节倍率 // @description:zh 视频倍速,全网视频倍速播放脚本: ①默认快捷键: x:加速 0.1, c:减速 0.1, z:复位 1.0 ②调节右上角加速框右侧上下按钮即可调节倍率 // @description:en Video speed doubling, full network video speed doubling playback script: ① Default shortcut keys: x: Accelerate by 0.1, c: Decelerate by 0.1, z: Reset by 1.0 ② Adjust the up and down buttons on the right side of the acceleration box in the upper right corner to adjust the magnification // @author wll // @require https://update.greasyfork.icu/scripts/481939/1293842/jquery-360minjs.js // @require https://update.greasyfork.icu/scripts/481940/1293843/sweetalert2-11019allminjs.js // @require https://update.greasyfork.icu/scripts/447214/1065649/toastscript.js // @resource css1 https://cdn.jsdelivr.net/gh/sanzhixiaoxia/statics@main/toast.style.css // @require https://update.greasyfork.icu/scripts/471299/1222923/toastifyjs.js // @resource css2 https://cdn.jsdelivr.net/npm/toastify-js/src/toastify.min.css // @match *://*/* // @exclude https://www.baidu.com/ // @run-at document-end // @grant GM_getValue // @grant GM_setValue // @grant GM_addStyle // @grant GM_getResourceText // @grant GM_registerMenuCommand // @grant GM_openInTab // @license AGPL-3.0-or-later // @supportURL https://gitee.com/leiwang2010/speed_video_mon/issues/new // @downloadURL https://update.greasyfork.icu/scripts/421170/%E8%A7%86%E9%A2%91%E5%80%8D%E9%80%9F%E6%92%AD%E6%94%BE%28%E8%BF%BD%E5%89%A7%E5%AD%A6%E4%B9%A0%E7%A5%9E%E5%99%A8%29.user.js // @updateURL https://update.greasyfork.icu/scripts/421170/%E8%A7%86%E9%A2%91%E5%80%8D%E9%80%9F%E6%92%AD%E6%94%BE%28%E8%BF%BD%E5%89%A7%E5%AD%A6%E4%B9%A0%E7%A5%9E%E5%99%A8%29.meta.js // ==/UserScript== (function() { 'use strict'; const messages = { 'zh': { 'scriptInformation': '功能简介:', 'scriptSettings': '脚本设置:', 'scriptMysterious': '神秘区域:', 'speedChanged': '当前倍速:', 'speedUpdating': '倍速中...', 'speedVersion': '最新版本 ✈ :' }, 'en': { 'scriptInformation': 'Script Information:', 'scriptSettings': 'Script settings:', 'scriptMysterious': 'Mysterious area:', 'speedChanged': 'Current speed:', 'speedUpdating': 'Updating speed...', 'speedVersion': 'new version ✈ :' } }; const curLang = navigator.language.slice(0, 2); const MSG = messages[curLang] || messages.en; /** * 本地存储域数组 * new URL(window.location.href).hostname; * @type {string[]} */ let localUrlDataArray = [ "www.bilibili.com" ,"www.iqiyi.com" ,"www.douyin.com" ,"If-zt.douyin.com" ,"www.youtube.com" ,"haokan.baidu.com" ,"www.youku.com" ,"v.youku.com" ,"www.iqiyi.com" ,"v.qq.com" ,"www.le.com" ,"127.0.0.1" ]; // 自定义样式 function addStyle() { let customCss=` #rangeId{position:fixed;top:15%;left:75%;width:3.3vw;height:1vw;z-index:2147483647!important;text-align:center;background-color:#E3EDCD!important;color:black!important;flex-shrink:0;opacity:0.6;cursor:move;user-select:none;outline: none;border:1px solid;border-radius:9px;display:inline-block;padding:0 6px 0 7px;line-height:16px;font-size:12px;margin-right:4px;transition:background 0.3s,color 0.3s;}#rangeId:hover{opacity:1;} .slider-container{display:flex;align-items:center;justify-content:flex-start;}.toggle-container{display:inline-block;position:relative;}.toggle-input{display:none;}.toggle-label{display:block;width:60px;height:30px;background-color:#ddd;border-radius:15px;position:relative;cursor:pointer;transition:background-color 0.3s;} .toggle-label:before{content:"";position:absolute;top:2px;left:2px;width:26px;height:26px;background-color:white;border-radius:50%;transition:left 0.3s;}.toggle-input:checked+.toggle-label{background-color:#66bb6a;}.toggle-input:checked+.toggle-label:before {left: calc(100% - 28px);} .swal2-popup{font-family:"Arial",sans-serif;border-radius:10px;box-shadow:0 0 10px rgba(0,0,0,0.1);background-color:#fff;color:#333;}.swal2-title{font-size:24px;margin-bottom:10px;} .swal2-content{font-size:12px;margin-bottom:20px;}.swal2-actions{display:flex;justify-content:center;}.swal2-confirm,.swal2-cancel{font-size:18px;padding:10px 20px;border-radius:5px;background-color:#ffcc00;color:#fff;border:none;cursor:pointer;transition:background-color 0.3s;}.swal2-confirm:hover,.swal2-cancel:hover{background-color:#ffdd33;} .swal2-close{font-size:20px;width:30px;height:30px;line-height:30px;padding:0;border-radius:50%;background-color:#fff;color:#000;}.message-content-sweetalert2{text-align:left;max-height:200px;overflow-y:auto;} #switch_table{border-collapse:separate;}#switch_table>table{width:100%;border-collapse:collapse;}#switch_table>table>tr{white-space:nowrap;}#switch_table td{padding-right:22px;}#switch_table td:last-child{padding-right:0;} `; GM_addStyle(customCss); } function checkInIframe(){ if (window.self !== window.top) { return true; }else{ return false; } } // 本地存储封装 const localUtil = { getSValue(name) { return localStorage.getItem(name); }, setSValue(name, value) { localStorage.setItem(name, value); }, getGValue(name) { return window.GM_getValue(name); }, setGValue(name, value) { window.GM_setValue(name, value); }, getAutoValue(name) { let hostname = new URL(window.location.href).hostname; if (localUrlDataArray.includes(hostname)) { return localUtil.getSValue(name); } else { return localUtil.getGValue(name); } }, setAutoValue(name, value) { let hostname = new URL(window.location.href).hostname; if (localUrlDataArray.includes(hostname)) { localUtil.setSValue(name, value); } else { localUtil.setGValue(name, value); } } }; // 日志打印封装 const log = { log: function (msg) { if (localStorage.getItem("speed_debug") == "true") {console.log(" ---> speed_debug: " + msg);} }, info: function (msg) { if (localStorage.getItem("speed_debug") == "true") {console.info(" ---> speed_debug: " + msg);} }, warn: function (msg) { if (localStorage.getItem("speed_debug") == "true") {console.warn(" ---> speed_debug: " + msg);} }, error: function (msg) { if (localStorage.getItem("speed_debug") == "true") {console.error(" ---> speed_debug: " + msg);} } }; /** * 数值转换为分钟 * @param value * @returns {string} */ function convertToMinutes(value) { const minutes = Math.floor(value / 60); const seconds = value % 60; const paddedMinutes = minutes.toString().padStart(2, "0"); const paddedSeconds = seconds.toString().padStart(2, "0"); return `${paddedMinutes}:${paddedSeconds}`; } // 自定义节点 function addDocument() { const rangeId = "rangeId"; const buttonPositionKey = "buttonPosition"; const addButton = () => { const rangeInput = ``; $("body").prepend(rangeInput); }; const addListeners = () => { const element = document.getElementById(rangeId); const handleChange = () => { addToast(MSG.speedChanged + element.value); }; const handleDoubleClick = () => { speedFun("1"); }; element.addEventListener("change", handleChange); element.addEventListener("dblclick", handleDoubleClick); const handleMouseDown = (e) => { const offsetX = e.clientX - element.offsetLeft; const offsetY = e.clientY - element.offsetTop; const dragButton = (e) => { let left = e.clientX - offsetX; let top = e.clientY - offsetY; const windowWidth = window.innerWidth; const windowHeight = window.innerHeight; const buttonWidth = element.offsetWidth; const buttonHeight = element.offsetHeight; left = Math.max(15, Math.min(left, windowWidth - buttonWidth - 15)); top = Math.max(15, Math.min(top, windowHeight - buttonHeight - 15)); element.style.left = left + "px"; element.style.top = top + "px"; }; document.addEventListener("mousemove", dragButton); const handleMouseUp = () => { document.removeEventListener("mousemove", dragButton); saveButtonPosition(); }; document.addEventListener("mouseup", handleMouseUp); }; element.addEventListener("mousedown", handleMouseDown); }; const saveButtonPosition = () => { const element = document.getElementById(rangeId); const position = { top: element.offsetTop, left: element.offsetLeft, }; try { localUtil.setGValue(buttonPositionKey, JSON.stringify(position)); } catch (error) { console.error("保存按钮位置失败: ", error); } }; const initializeButtonPosition = () => { const element = document.getElementById(rangeId); const buttonPosition = localUtil.getGValue(buttonPositionKey); if (buttonPosition) { const position = JSON.parse(buttonPosition); element.style.top = position.top + "px"; element.style.left = position.left + "px"; } }; addButton(); addListeners(); initializeButtonPosition(); } function handleParentKeyPress(e) { const videos = document.querySelectorAll("video").length; if (videos > 0) { window.parent.postMessage({ type: "keyPress", key: e.key }, "*"); } } function handleKeyPress(e) { const videos = document.querySelectorAll("video").length; if (videos > 0) { switch (e.key.toLowerCase()) { case "x": speedFun("-"); // stopPropa(e); break; case "c": speedFun("+"); // stopPropa(e); break; case "t": case "z": speedFun("1"); // stopPropa(e); break; } } } function stopPropa(e){ e.preventDefault(); // 取消默认行为 e.stopPropagation(); // 阻止事件传播 } function speedFun(speed) { // 没取到倍速框数据,则从记忆中获取 let local_step_key = localUtil.getAutoValue("speed_step_key"); let currentVal = (local_step_key == undefined || local_step_key == "" || local_step_key == null) ? 1 : parseFloat(local_step_key); let numVal; if (speed === "+") { numVal = Math.min(20, currentVal + 0.1); } else if (speed === "-") { numVal = Math.max(0.1, currentVal - 0.1); } else if (speed === "1") { numVal = 1.0; } controlVideoProperty("playbackRate", numVal); changeSpeend(numVal); addToast(MSG.speedChanged + `${numVal.toFixed(1)}`); } function controlVideoProperty(propertyName, desiredValue) { const videos = document.querySelectorAll("video"); if (videos.length > 0) { videos.forEach((video) => { if (isVideoValid(video)) { overrideSetter(video, propertyName, desiredValue); const observer = new MutationObserver(function (mutations) { mutations.forEach(function (mutation) { if (mutation.type === "attributes" && mutation.attributeName === propertyName && video[propertyName] !== desiredValue) { video[propertyName] = desiredValue; } }); }); const config = { attributes: true }; observer.observe(video, config); } }); } } function overrideSetter(obj, prop, value) { const descriptor = Object.getOwnPropertyDescriptor(obj, prop); if (descriptor && descriptor.set) { const originalSetter = descriptor.set; Object.defineProperty(obj, prop, { set: function (newValue) { if (newValue !== value) { originalSetter.call(obj, newValue); } }, }); } else { log.error(`Property '${prop}' does not have a setter.`); } } // 消息提示 function addToast(msgText) { // 消息提示(左上) if(getSwitchValueById("speed_switch_toggle4")){ showVideoMessage(msgText); } // 消息提示(右下) if(getSwitchValueById("speed_switch_toggle3")){ let toastMessage = localUtil.getGValue('toastMessage'); if (toastMessage) { switch (toastMessage) { case "tm01": showToastMessage(msgText); break; case "tm02": showToastifyMessage(msgText); break; case "tm03": showSweetMessage(msgText); break; case "tm04": showOldJsMessage(msgText); break; default: showToastMessage(msgText); } } else { showToastMessage(msgText); } } } /** * 在视频左上角显示 * @param msgText */ function showVideoMessage(msgText) { let messageElement = document.createElement('div'); messageElement.style.position = 'absolute'; messageElement.style.top = '10px'; messageElement.style.left = '10px'; messageElement.style.padding = '10px'; messageElement.style.backgroundColor = '#333'; messageElement.style.color = 'white'; messageElement.style.borderRadius = '5px'; messageElement.style.opacity = '0.9'; messageElement.style.transition = 'opacity 0.5s ease'; messageElement.style.zIndex = '2147483647'; messageElement.style.fontSize = '16px'; messageElement.style.fontFamily = 'Arial, sans-serif'; messageElement.innerText = msgText; try { document.querySelector('video').parentNode.appendChild(messageElement); }catch (e) { document.body.appendChild(messageElement); }finally { setTimeout(function () { messageElement.remove(); }, 1000); } } /** * Toast 消息提示 * @param msgText */ function showToastMessage(msgText){ GM_addStyle(GM_getResourceText("css1")); $.Toast(MSG.speedChanged, msgText, "success", { //stack: true, has_icon: true, has_close_btn: true, fullscreen: false, timeout: 1000, sticky: false, has_progress: true, rtl: false, }); } /** * toastify 消息提示 * @param msgText */ function showToastifyMessage(msgText){ GM_addStyle(GM_getResourceText("css2")); Toastify({ text: msgText, duration: 1000, newWindow: false, gravity: "bottom", // `top` or `bottom` position: "right", // `left`, `center` or `right` style: { background: "linear-gradient(to right, #00b09b, #96c93d)", } }).showToast(); } /** * sweetalert2 消息提示 * @param message */ function showSweetMessage(message) { const toast = Swal.mixin({ toast: true, position: 'bottom-end', showConfirmButton: false, timer: 1000, timerProgressBar: true, didOpen: (toast) => { toast.addEventListener('mouseenter', Swal.stopTimer); toast.addEventListener('mouseleave', Swal.resumeTimer); } }); toast.fire({ icon: 'info', title: message }); } /** * 原生js消息提示 * @param message */ function showOldJsMessage(message) { // 创建消息提示元素 let messageElement = document.createElement('div'); messageElement.classList.add('message'); messageElement.innerText = message; // 添加CSS样式 messageElement.style.position = 'fixed'; messageElement.style.bottom = '20px'; messageElement.style.right = '20px'; messageElement.style.padding = '10px'; messageElement.style.backgroundColor = '#333'; messageElement.style.color = '#fff'; messageElement.style.borderRadius = '5px'; messageElement.style.opacity = '0.9'; messageElement.style.transition = 'opacity 0.5s ease'; messageElement.style.zIndex = '9999'; // 将消息提示元素添加到页面右下角 document.body.appendChild(messageElement); // 一秒后自动消失 setTimeout(function() { messageElement.remove(); }, 1000); } /** * 校验节点是否是视频 * @param nodei */ function isVideoValid(nodei) { if (nodei && nodei.nodeName === 'VIDEO' && nodei.src) { // 添加节点类型和src属性的校验 return true; } return false; } let stopFlag = true; /** * 执行引擎 */ function initRun(){ // 跳过片头片尾 initStartEnd(); // 自动播放-开关 let speedSwitchOn = getSwitchValueById("speed_switch_toggle2"); if (speedSwitchOn && stopFlag) { findNodeWithSelector('video', nodei => {if(isVideoValid(nodei)){try{nodei.play();}catch(e){log.error("自动播放失败:" + e)}}}); stopFlag = false; } if (!speedSwitchOn && !stopFlag) { findNodeWithSelector('video', nodei => {if(isVideoValid(nodei)) {try{nodei.pause();}catch(e){log.error("停止播放失败:" + e)}}}); stopFlag = true; } let control_step_key = $("#rangeId").val(); let local_step_key = localUtil.getAutoValue("speed_step_key"); if (control_step_key == null || control_step_key == ''|| control_step_key == undefined) { if (local_step_key == null) { changeSpeend(1); } else { changeSpeend(local_step_key); } } else { if (control_step_key !== local_step_key) { changeSpeend(control_step_key); } } log.info("倍速播放方法启动,当前倍率为:" + control_step_key); } /** * 更改倍速 * @param speed */ function changeSpeend(speed) { speed = parseFloat(speed).toFixed(1); try { $("#rangeId").val(speed); }catch (e) { log.error("write back is error :"+e) } findNodeWithSelector('video', nodei => { if (isVideoValid(nodei)) { nodei.playbackRate = speed; nodei.focus(); // 聚焦到视频元素 nodei.preload = 'auto';// 设置preload属性为"auto" } }); localUtil.setAutoValue("speed_step_key", speed); } /** * 通用查找节点方法 * @param selector * @param callback */ function findNodeWithSelector(selector, callback) { // 遍历页面中的所有节点并执行回调 let selectorAllElement = document.querySelectorAll(selector); if (selectorAllElement.length > 0) { selectorAllElement.forEach(node => { callback(node); }); } // 遍历页面中的所有 节点 let iframeElement = document.querySelectorAll("iframe"); if (iframeElement.length > 0) { iframeElement.forEach(iframe => { // 确保 加载完成后再访问其内容 iframe.addEventListener("load", () => { try { let iframeDoc = ""; // 获取 的文档对象 try { iframeDoc = iframe.contentWindow.document; } catch (error) { iframeDoc = iframe.contentDocument; } // 调用窗口对象的 focus() 方法 try { if(iframeDoc){ iframeDoc.focus(); } } catch (error) { log.error("聚焦失败:" + error); } // 在 的文档中查找节点并执行回调 let iframeDocElement = iframeDoc.querySelectorAll(selector); if (iframeDocElement.length > 0) { iframeDocElement.forEach(iframeNode => { callback(iframeNode); }); } } catch (error) { log.error("Error iframeElement content:", error); } }); }); } // 获取页面中所有的 ShadowRoot 节点 // document.querySelectorAll("shadow-root").forEach((shadowRoot) => { // // 检查 ShadowRoot 是否已开启,若未开启则打开 // if (shadowRoot.mode === 'closed') { // shadowRoot.mode = 'open'; // 异步操作 // } // // // 在 ShadowRoot 中查找指定的节点 // const targetNode = shadowRoot.querySelector(selector); // // // 如果找到了目标节点,则调用回调函数 // if (targetNode) { // callback(targetNode); // } // }); } /** * 初始化菜单 */ function mokInitMenu(){ GM_registerMenuCommand(MSG.scriptInformation, scriptInfor); GM_registerMenuCommand(MSG.scriptSettings, scriptSetup); GM_registerMenuCommand(MSG.scriptMysterious, scriptPlay); GM_registerMenuCommand(MSG.speedVersion, function () {window.GM_openInTab('https://greasyfork.org/zh-CN/scripts/421170', {active: true,insert: true,setParent: true});}); } /* 功能简介 */ function scriptInfor(){ Swal.fire({ title: " - - ☞ ☛ 视频倍速播放 ☚ ☜ - - ", html:` 功能简介: 方式一: ①调节右上角加速框右侧上下按钮即可调节倍率 ②在右上角的加速框内输入加速倍率,如2、4、8、16等 方式二: 默认快捷键: x:加速 0.1, c:减速 0.1, z:复位 1.0 模式简介: 三分钟真男人模式: 为了响应国家节能减排,保护地球家园国策,脚本做了浅度检测(理论上够用了) 但是有一些比较特别的情况,脚本无法检测到视频,实现不了调整倍速的目的 所以做了三分钟真男人模式,持续深入检测三分钟,增强脚本可用性 手动更新: - 您身边的学习追剧好帮手 - `, showConfirmButton: false, showCloseButton: true, background: false, heightAuto: true, width: 'auto', height: 'auto', didOpen: () => { } }); } // 脚本设置 function scriptSetup(){ Swal.fire({ title: " - - ☞ ☛ 脚本设置 ☚ ☜ - - ", html:` 倍速输入框: 自动播放: 消息提示(左上): 三分钟真男人模式: 消息提示(右下): 春 花 秋 月 跳过片头 00:00 跳过片尾 00:00 - - 一直被模仿,从未被超越 - - `, showConfirmButton: false, showCloseButton: true, background: false, heightAuto: true, width: 'auto', height: 'auto', didOpen: () => { //====================================配置开关监听start============================================== // 保存开关状态的配置 let switchConfig = {}; // 获取开关元素 let switches = document.querySelectorAll('.toggle-container input'); // 遍历开关元素,添加事件监听器 switches.forEach(function(switchElement) { switchElement.addEventListener('change', function(event) { let switchId = event.target.id; let switchState = event.target.checked; // 将开关状态保存到配置中 switchConfig[switchId] = switchState; // 将配置保存到本地存储 localUtil.setGValue('switchConfig', JSON.stringify(switchConfig)); gloubleChang(switchId, switchState); }); }); // 加载配置并设置开关状态 function loadSwitchConfig() { let savedConfig = localUtil.getGValue('switchConfig'); if (savedConfig) { switchConfig = JSON.parse(savedConfig); Object.keys(switchConfig).forEach(function(switchId) { let switchElement = document.getElementById(switchId); if (switchElement) { switchElement.checked = switchConfig[switchId]; } // 右下角消息提示框 if (switchId == "speed_switch_toggle3") { if(switchConfig[switchId]){ $("input[name='toastMessage']").attr({"disabled":false,"readonly":false}); }else{ $("input[name='toastMessage']").attr({"disabled":true,"readonly":true}); } } }); } } loadSwitchConfig(); //====================================配置开关监听end================================================ //====================================消息提示单选start================================================ // 获取单选按钮组 let radioGroup = document.getElementsByName("toastMessage"); // 添加事件监听器 radioGroup.forEach(function(radio) { let toastMessage = localUtil.getGValue('toastMessage'); if (toastMessage) { // 设置默认选中的单选按钮 document.getElementById(toastMessage).checked = true; }else { let defaultToastMessage = "tm01"; document.getElementById(defaultToastMessage).checked = true; localUtil.setGValue('toastMessage',defaultToastMessage); } radio.addEventListener("change", function() { // 获取选中的值 let selectedValue = document.querySelector('input[name="toastMessage"]:checked').value; log.info("选中的值:" + selectedValue); localUtil.setGValue('toastMessage',selectedValue); }); }); //====================================消息提示单选end================================================ //====================================调整跳过片头尾start============================================== // 选择要修改宽度的 input 元素 let rangeInput = $('input[type="range"]'); // 设置宽度为 260px rangeInput.css('width', '260px'); const sliders = document.querySelectorAll(".slider-container"); sliders.forEach(function(sliderContainer) { const slider = sliderContainer.querySelector("input[type='range']"); const sliderValue = sliderContainer.querySelector("span.progressStr"); // 从 localUtil 中读取滑块的值,如果存在则更新滑块和滑块值 const storedData = localUtil.getAutoValue(slider.id); if (storedData) { const {value,textContent} = JSON.parse(storedData); slider.value = value; sliderValue.textContent = textContent; } // 添加一个 "input" 事件监听器来更新滑块值并将其存储到 localUtil 中 slider.addEventListener("input", function() { const value = this.value; const textContent = convertToMinutes(value); sliderValue.textContent = textContent; const data = {value,textContent}; localUtil.setAutoValue(this.id, JSON.stringify(data)); initStartEnd(); }); }); //====================================调整跳过片头尾end================================================ } }); } // 根据 ID 查询开关状态值 function getSwitchValueById(switchId) { let savedConfig = localUtil.getGValue('switchConfig'); if (savedConfig) { let switchConfig = JSON.parse(savedConfig); return switchConfig[switchId]; } return null; } // 全局开关调整 function gloubleChang(switchId, switchState) { log.info(`gloubleChang switchId is :${switchId} , switchState is :${switchState}`); if (switchId == null || switchId == undefined){return} if (switchState == null || switchState == undefined){return} // 倍速输入框 if (switchId == "speed_switch_toggle1") { if(switchState){ $('#rangeId').css("opacity", "0.6"); }else{ $('#rangeId').css("opacity", "0"); } } // 右下角消息提示框 if (switchId == "speed_switch_toggle3") { if(switchState){ $("input[name='toastMessage']").attr({"disabled":false,"readonly":false}); }else{ $("input[name='toastMessage']").attr({"disabled":true,"readonly":true}); } } // 三分钟真男人模式 if (switchId == "speed_switch_toggle5") { if(switchState){ localUtil.setGValue("speed_three_male",30*60*1000); }else{ localUtil.setGValue("speed_three_male",30*1000); } } } // 神秘区域 function scriptPlay(){ Swal.fire({ title: "神秘区域", html:` 感谢您的支持与使用! 每天坚持一分钟,腰也不疼了,腿也不酸了,一口气也能上五楼了 `, showConfirmButton: false, showCloseButton: true, background: false, heightAuto: true, width: 'auto', height: 'auto', didOpen: () => { } }); } /** * 运行至当前时间 * @param speed_skip_start * @param speed_skip_end */ function speedSkipMethod(speed_skip_start,speed_skip_end){ speed_skip_start = parseInt(speed_skip_start); speed_skip_end = parseInt(speed_skip_end); findNodeWithSelector('video', video => { if (isVideoValid(video)) { if (parseInt(video.duration) > speed_skip_start + speed_skip_end) { // 跳转到视频末尾 if (parseInt(video.duration) - parseInt(video.currentTime) < speed_skip_end) { video.currentTime = parseInt(video.duration); } // 跳过视频的开始 if (video.currentTime > speed_skip_start) {return;} video.currentTime = speed_skip_start; } } }); } /** * 跳过片头片尾 * @param speed_skip_start * @param speed_skip_end */ function initStartEnd(){ let storedData1 = localUtil.getAutoValue("speed_slider_start"); let storedData2 = localUtil.getAutoValue("speed_slider_end"); let speed_skip_start = storedData1 ? JSON.parse(storedData1).value : 0; let speed_skip_end = storedData2 ? JSON.parse(storedData2).value : 0; if (speed_skip_start > 0 || speed_skip_end > 0) { speedSkipMethod(speed_skip_start,speed_skip_end); } } // 默认开关设置 function initConfig(){ let gloubConfig = { "speed_switch_toggle1": true, "speed_switch_toggle2": true, "speed_switch_toggle3": true, "speed_switch_toggle4": true, "speed_switch_toggle5": true }; let switchConfig = localUtil.getGValue('switchConfig') || JSON.stringify(gloubConfig); localUtil.setGValue('switchConfig', switchConfig); } // ====================================== mobile start================================================== let playbackRate = parseFloat(localUtil.getAutoValue("speed_step_key")) || 1.0; let longPressTimer = null; let longPressSpeed = 2.0; // 长按开始 function handleLongPressStart() { showVideoMessage(MSG.speedUpdating); longPressTimer = setInterval(() => { showVideoMessage(MSG.speedChanged + longPressSpeed); changeSpeend(longPressSpeed); }, 1000); } // 长按结束 function handleLongPressEnd() { clearInterval(longPressTimer); showVideoMessage(MSG.speedChanged + playbackRate); changeSpeend(playbackRate); } /** * 初始化长按倍速 */ function initTouch(){ const videos = document.querySelectorAll('video'); videos.forEach((video) => { video.playbackRate = playbackRate.toFixed(1); showVideoMessage(MSG.speedChanged + playbackRate.toFixed(1)); log.warn(`init touch is mobile to : ${video}`); video.addEventListener('touchstart', handleLongPressStart); video.addEventListener('touchend', handleLongPressEnd); }); } // ====================================== mobile end=================================================== window.addEventListener("keydown", handleKeyPress, true); if (checkInIframe()) { window.addEventListener("keydown", handleParentKeyPress); } if (checkInIframe()) { window.addEventListener("message", (event) => { if (event.data.type === "keyPress") { const { key } = event.data; handleKeyPress({ key }); } }); } const main = { before() { addStyle(); mokInitMenu(); initConfig(); }, init() { addDocument(); }, run() { initRun(); } }; // 设备判断:pc/移动 function isMobileDevice() { return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent); } const setSpeed = (event) => { event.target.playbackRate = parseFloat(localUtil.getAutoValue("speed_step_key")).toFixed(1); event.target.focus(); // 聚焦到视频元素 event.target.preload = 'auto';// 设置preload属性为"auto" }; // 为所有现有和未来的视频元素添加事件监听器 document.addEventListener('play', (event) => { if (event.target.tagName.toLowerCase() === 'video') { setSpeed(event); } }, true); // 监听视频加载完成事件 document.addEventListener('loadeddata', (event) => { if (event.target.tagName.toLowerCase() === 'video') { setSpeed(event); } }, true); window.onload = function() { localStorage.setItem("speed_debug", "false"); main.before(); let speed_three_male = localUtil.getGValue("speed_three_male")||30 * 1000; let startStamp = new Date().getTime(); window.initTimer = setInterval(() => { let videos = document.querySelectorAll("video"); let nowStamp = new Date().getTime(); if (videos.length > 0) { clearInterval(initTimer); main.init(); window.setInterval(function() {main.run();}, 1000); } else if ((nowStamp - startStamp) >= speed_three_male) { clearInterval(initTimer); log.error('search video is long to stop...'); }else if (isMobileDevice()){ clearInterval(initTimer); initTouch(); log.error('check device is mobile switch to mobile ...'); } else { log.error('search video is waiting ...'); } }, 1000); } })();
感谢您的支持与使用!
每天坚持一分钟,腰也不疼了,腿也不酸了,一口气也能上五楼了