您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
用户可动态设定B站或YouTube视频的停止时间(分钟和秒),自动暂停视频,只暂停一次
// ==UserScript== // @name 视频定时暂停(支持B站和Youtube) // @namespace http://tampermonkey.net/ // @version 1.0 // @description 用户可动态设定B站或YouTube视频的停止时间(分钟和秒),自动暂停视频,只暂停一次 // @author OldHunter // @match https://www.bilibili.com/video/* // @match https://www.youtube.com/watch* // @license MIT // ==/UserScript== (function() { 'use strict'; // 检测当前网站是B站还是YouTube,返回对应的视频元素 function getVideoElement() { if (window.location.host.includes('bilibili.com')) { return document.querySelector('video'); } else if (window.location.host.includes('youtube.com')) { return document.querySelector('video'); } return null; } // 创建用户输入的分钟和秒数输入框 function createInput(labelText) { const label = document.createElement("label"); label.innerText = labelText; const input = document.createElement("input"); input.type = "number"; input.style.marginRight = "10px"; label.appendChild(input); return { label, input }; } // 弹出自定义输入框,让用户输入分钟和秒 function getUserTimeInput(callback) { const dialog = document.createElement("div"); dialog.style.position = "fixed"; dialog.style.top = "50%"; dialog.style.left = "50%"; dialog.style.transform = "translate(-50%, -50%)"; dialog.style.padding = "20px"; dialog.style.backgroundColor = "white"; dialog.style.border = "1px solid black"; dialog.style.zIndex = "9999"; // 创建两个输入框:分钟和秒 const minutesInput = createInput("请输入分钟:"); const secondsInput = createInput("请输入秒:"); // 创建确认按钮 const submitButton = document.createElement("button"); submitButton.innerText = "确定"; submitButton.onclick = function() { const minutes = parseInt(minutesInput.input.value, 10) || 0; const seconds = parseInt(secondsInput.input.value, 10) || 0; const totalTime = (minutes * 60) + seconds; document.body.removeChild(dialog); // 移除对话框 callback(totalTime); // 返回用户输入的总秒数 }; // 将输入框和按钮加入到对话框中 dialog.appendChild(minutesInput.label); dialog.appendChild(secondsInput.label); dialog.appendChild(submitButton); document.body.appendChild(dialog); } // 检查视频是否加载完毕 function checkVideoReady() { const video = getVideoElement(); if (video && video.readyState >= 3) { // readyState 3表示可以开始播放 // 弹出用户输入框,获取停止时间 getUserTimeInput(function(stopTime) { let pausedOnce = false; // 记录是否已经暂停过 if (stopTime > 0) { // 监听视频播放进度,只暂停一次 video.addEventListener('timeupdate', function() { if (!pausedOnce && video.currentTime >= stopTime) { video.pause(); pausedOnce = true; // 标记为已经暂停 alert(`视频已播放到设定的${Math.floor(stopTime / 60)}分${stopTime % 60}秒,自动暂停。`); } }); } }); } else { // 如果视频还未加载,继续检查 setTimeout(checkVideoReady, 500); } } // 初始化脚本 checkVideoReady(); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址