// ==UserScript== // @name B站/哔哩哔哩/bilibili视频增强脚本(中文字幕+倍速控制+顶部栏控制) // @namespace http://tampermonkey.net/ // @version 2.3.1 // @description 自动开启中文字幕,提供倍速控制功能(Z/X/C键和1/2/3键),按H键控制顶部栏显示,记忆用户选择 // @author anyphasy // @icon https://play-lh.googleusercontent.com/C1tISqYgtW_ejAmnGzvepbaYt7NJLagPelCZ_lzNv06RJPQgBx1_q3VX67z9wc48EgY=s1024 // @icon data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD//gAXR2VuZXJhdGVkIGJ5IFNuaXBhc3Rl/9sAhAAKBwcIBwYKCAgICwoKCw4YEA4NDQ4dFRYRGCMfJSQiHyIhJis3LyYpNCkhIjBBMTQ5Oz4+PiUuRElDPEg3PT47AQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv/wAARCAIAAgADAREAAhEBAxEB/8QBogAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoLEAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+foBAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKCxEAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDZpH24UAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAJmmAZoAM0AGaADNABmgAzQAZoAM0AGaADNABmgAzQAZoAM0AGaADNABmgAzQAZoAM0AGaADNABmgAzQAZoAM0AGaADNABmgAzQAZoAM0AGaADNABmgAzQAZoAM0AGaADNABmgAzQAZoAM0AGaADNABmgAzQAZoAM0AGaADNABmgAzQAZoAM0AGaADNABmgAzQAZoAM0AGaACgYUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAmaADNABmgAzQAZoAM0AGaADNABmgAzQAZoAM0AGaADNABmgAzQAZoAM0AGaADNABmgAzQAZoAM0AGaADNABmgAzQAZoAM0AGaADNABmgAzQAZoAM0AGaADNABmgAzQAZoAM0AGaADNABmgAzQAZoAM0AGaADNABmgAzQAZoAM0AGaADNABmgAzQAZoAM0AGaADNABmgAzQAUgCgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgBKBhQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQBJHEX5PAoIlKxYWNF6AUGLk2O49qBEbwqw44NBcZtFYjBweooNtxKBhQAUAFABQAUAFABQAUAFABQAUAFABQA5VLtgUCbsrllIkQep9TQYOTY/igka0SN2wfUUFKTRWkjMZ9R60GsZXGUFhQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAlAwoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgB0ab3A/OgmTsi4BgYFM5woEFABQBFPHuG4dRSNIStoVqDcKACgAoAKACgAoAKACgAoAKACgAoAKBFuKPYvPU9aDCUrsfTICgAoARgGBB6GgadimylWKntSOlO6uJ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j2E8+U/xn86B8kewnmyHq7fnQPlXYaWY9SaB2QZoAM0AGaADNABmgAzQAZoAM0AGaADNABmgAzQAZoAM0AGaADNABmgAzQAlAwoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgBM0AGaADNABmgAzQAZoAM0AGaADNABmgAzQAZoAM0AGaADNABmgAzQAZoAM0AGaADNABmgAzQAZoAM0AGaADNABmgAzQAZoAM0AGaADNABmgAzQAZoAM0AGaADNABmgAzQAZoAM0AGaADNABmgAzQAZoAM0AGaADNABmgAzQAZoAM0AGaADNABmgAzQAZoAM0AGaADNABmgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKADNAwzQAZoAM0AGaADNABmgAzQAZoAM0AGaADNABmgAzQAZoAM0AGaADNABmgAzQAZoAM0AGaADNABmgAzQAZoAM0AGaADNABmgAzQAZoAM0AGaADNABmgAzQAZoAM0AGaADNABmgAzQAZoAM0AGaADNABmgAzQAZoAM0AGaADNABmgAzQAZoAM0AGaADNABmgAzQAZoAM0ANoGFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAf/9k= // @match *://www.bilibili.com/video/* // @match *://www.bilibili.com/list/watchlater* // @grant GM_setValue // @grant GM_getValue // @grant GM_addStyle // ==/UserScript== (function () { 'use strict'; // 配置参数 const MAX_ATTEMPTS = 10; const INITIAL_DELAY = 800; const RETRY_DELAY = 2000; let attemptCount = 0; let isActive = false; let isEnabled = GM_getValue('bilibili_subtitle_enabled', true); let observer = null; let timeoutId = null; let playbackRates = [2, 1.5, 1.25, 1, 0.75, 0.5]; // 支持的倍速选项 let currentRate = GM_getValue('bilibili_playback_rate', 1); // 当前倍速 let isCustomRate = GM_getValue('bilibili_custom_rate', false); // 是否自定义倍速 let isHeaderHidden = GM_getValue('bilibili_header_hidden', false); // 新增:顶部栏隐藏状态 // 添加Element Plus样式 GM_addStyle(` .bpx-player-dm-notice { position: absolute; top: 10%; /* 将提示位置稍微下移,避免遮挡视频内容 */ left: 50%; transform: translate(-50%, -50%); background-color: rgba(0, 0, 0, 0.8); /* 增加背景不透明度 */ color: white; padding: 12px 20px; /* 增加内边距,让提示更大 */ border-radius: 8px; /* 增加圆角 */ font-size: 18px; /* 增大字体大小 */ font-weight: bold; /* 加粗字体 */ z-index: 9999; pointer-events: none; animation: fadeInOut 2.5s ease-in-out forwards; /* 稍微延长动画时间 */ min-width: 120px; /* 设置最小宽度 */ text-align: center; /* 文字居中 */ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3); /* 添加阴影效果 */ } @keyframes fadeInOut { 0% { opacity: 0; } 10% { opacity: 1; } 90% { opacity: 1; } 100% { opacity: 0; } } /* 新增:顶部栏隐藏时的页面调整 */ body.header-hidden { padding-top: 0 !important; } body.header-hidden #biliMainHeader { display: none !important; } `); // 初始化 function init() { /* console.log(`B站增强脚本已加载,字幕状态: ${isEnabled ? '开启' : '关闭'}, 当前倍速: ${currentRate}x, 自定义倍速: ${isCustomRate}`); */ console.log(`B站增强脚本已加载,字幕状态: ${isEnabled ? '开启' : '关闭'}, 当前倍速: ${currentRate}x, 自定义倍速: ${isCustomRate}, 顶部栏状态: ${isHeaderHidden ? '隐藏' : '显示'}`); // 修改这里:直接应用保存的状态(而不是切换) applyHeaderState(); // 清理函数 const cleanup = () => { if (timeoutId) { clearTimeout(timeoutId); timeoutId = null; } if (observer) { observer.disconnect(); observer = null; } document.removeEventListener('keydown', handleKeyPress); }; // 添加页面卸载时的清理 window.addEventListener('beforeunload', cleanup); // 添加键盘监听器 document.addEventListener('keydown', handleKeyPress); console.log('快捷键监听器已添加 (Shift+A:字幕, Z/X/C:倍速, 1/2/3:快速倍速)'); // 设置SPA路由变化监听 setupSPAObserver(); // 立即开始尝试(减少延迟) if (isEnabled) { timeoutId = setTimeout(tryClickChineseSubtitle, INITIAL_DELAY); } // 设置倍速控制 timeoutId = setTimeout(applySavedPlaybackRate, INITIAL_DELAY); } // 设置SPA路由监听 function setupSPAObserver() { let lastUrl = location.href; observer = new MutationObserver(() => { const currentUrl = location.href; if (currentUrl !== lastUrl) { lastUrl = currentUrl; resetState(); if (isEnabled) { timeoutId = setTimeout(tryClickChineseSubtitle, INITIAL_DELAY); } timeoutId = setTimeout(applySavedPlaybackRate, INITIAL_DELAY); } }); observer.observe(document, { subtree: true, childList: true }); } // 重置状态 function resetState() { if (timeoutId) { clearTimeout(timeoutId); timeoutId = null; } attemptCount = 0; isActive = false; } // 快捷键处理 // 修改后的handleKeyPress函数 function handleKeyPress(event) { // 当焦点在输入元素时,不处理快捷键 const activeElement = document.activeElement; const isInputFocused = activeElement && (activeElement.tagName === 'INPUT' || activeElement.tagName === 'TEXTAREA' || activeElement.isContentEditable); if (isInputFocused) return; // 新增:H键切换顶部栏 if (event.key.toLowerCase() === 'j') { console.log("按下了J键 - 切换顶部栏"); event.preventDefault(); toggleHeader(); return; } // Shift+A 切换字幕 if (event.shiftKey && event.key === 'A') { console.log("按下了Shift+A"); event.preventDefault(); toggleSubtitles(); } // 倍速控制 - 只处理主键盘数字键(event.location === 0) if (!event.ctrlKey && !event.altKey && !event.metaKey && event.location === 0) { switch (event.key.toLowerCase()) { case 'z': console.log("按下了Z键 - 重置倍速"); event.preventDefault(); setPlaybackRate(1); break; case 'x': console.log("按下了X键 - 减小倍速"); event.preventDefault(); decreasePlaybackRate(); break; case 'c': console.log("按下了C键 - 增加倍速"); event.preventDefault(); increasePlaybackRate(); break; case '1': console.log("按下了1键 - 1倍速"); event.preventDefault(); setPlaybackRate(1); break; case '2': console.log("按下了2键 - 2倍速"); event.preventDefault(); setPlaybackRate(2); break; case '3': console.log("按下了3键 - 3倍速"); event.preventDefault(); setCustomPlaybackRate(3); break; } } } // 切换字幕开关 function toggleSubtitles() { isEnabled = !isEnabled; GM_setValue('bilibili_subtitle_enabled', isEnabled); console.log(`字幕功能已${isEnabled ? '开启' : '关闭'}`); resetState(); if (isEnabled) { timeoutId = setTimeout(tryClickChineseSubtitle, INITIAL_DELAY); } else { closeSubtitles(); } } // 尝试点击中文字幕(优化版) function tryClickChineseSubtitle() { timeoutId = null; if (!isEnabled || isActive || attemptCount >= MAX_ATTEMPTS) { return; } attemptCount++; console.log(`尝试点击中文字幕 (第 ${attemptCount} 次)`); // 使用更高效的选择器 let subtitleItems = document.querySelectorAll('.bpx-player-ctrl-subtitle-language-item'); if (subtitleItems.length > 1) { //根据.bpx-player-ctrl-subtitle-language-item-text');里面的文字数量进行排序,少的在前 // 将 NodeList 转换为数组并按照文本长度排序 subtitleItems = Array.from(subtitleItems).sort((a, b) => { const textA = a.querySelector('.bpx-player-ctrl-subtitle-language-item-text')?.textContent?.trim().length || 0; const textB = b.querySelector('.bpx-player-ctrl-subtitle-language-item-text')?.textContent?.trim().length || 0; return textA - textB; }); } let foundChinese = false; for (const item of subtitleItems) { const textElement = item.querySelector('.bpx-player-ctrl-subtitle-language-item-text'); if (textElement && textElement.textContent.trim().includes('中文')) { foundChinese = true; console.log('找到中文字幕按钮'); if (!item.classList.contains('bpx-state-active')) { console.log('中文字幕未激活,执行点击'); textElement.click(); // 使用更快的验证机制 timeoutId = setTimeout(() => verifyActivation(item), 300); } else { console.log('中文字幕已激活'); isActive = true; } break; } } if (!foundChinese && attemptCount < MAX_ATTEMPTS) { console.log('未找到中文字幕按钮,稍后重试'); timeoutId = setTimeout(tryClickChineseSubtitle, RETRY_DELAY); } else if (!foundChinese) { console.log(`已达到最大尝试次数(${MAX_ATTEMPTS}),可能此视频无中文字幕`); } } // 验证激活状态 function verifyActivation(item) { timeoutId = null; if (item.classList.contains('bpx-state-active')) { console.log('中文字幕激活成功'); isActive = true; } else { console.log('中文字幕激活失败'); if (attemptCount < MAX_ATTEMPTS) { timeoutId = setTimeout(tryClickChineseSubtitle, RETRY_DELAY); } } } // 关闭字幕 function closeSubtitles() { const closeButton = document.querySelector('.bpx-player-ctrl-subtitle-close-switch[data-action="close"]'); if (closeButton && !closeButton.classList.contains('bpx-state-active')) { console.log('找到关闭字幕按钮,执行点击'); closeButton.click(); isActive = false; } else { console.log('关闭字幕按钮已激活或未找到'); } } function showRateMessage(message) { // 移除旧的消息 const oldNotice = document.querySelector('.bpx-player-dm-notice'); if (oldNotice) oldNotice.remove(); // 创建新消息元素 const notice = document.createElement('div'); notice.className = 'bpx-player-dm-notice'; notice.textContent = message; // 添加到播放器容器 const playerContainer = document.querySelector('.bpx-player-container') || document.body; playerContainer.appendChild(notice); // 2秒后自动移除 setTimeout(() => { if (notice.parentNode) { notice.parentNode.removeChild(notice); } }, 2000); } // 设置自定义倍速(用于3倍速) function setCustomPlaybackRate(rate) { const videoElement = document.querySelector('.bpx-player-video-wrap video'); if (videoElement) { videoElement.playbackRate = rate; currentRate = rate; isCustomRate = true; GM_setValue('bilibili_playback_rate', currentRate); GM_setValue('bilibili_custom_rate', true); showRateMessage(`倍速已设为 ${rate}x (自定义)`); console.log(`已设置自定义倍速为 ${rate}x`); } else { console.log('未找到视频元素'); showRateMessage('无法设置自定义倍速'); } } // 倍速控制相关函数 function applySavedPlaybackRate() { // 如果是自定义倍速(3x),直接设置视频元素 if (isCustomRate && currentRate > 2) { const videoElement = document.querySelector('.bpx-player-video-wrap video'); if (videoElement) { videoElement.playbackRate = currentRate; console.log(`已恢复自定义倍速为 ${currentRate}x`); showRateMessage(`倍速已恢复为 ${currentRate}x (自定义)`); } else { console.log('未找到视频元素,稍后重试'); if (attemptCount < MAX_ATTEMPTS) { timeoutId = setTimeout(applySavedPlaybackRate, RETRY_DELAY); attemptCount++; } } return; } // 否则使用官方倍速控制 const rateMenu = document.querySelector('.bpx-player-ctrl-playbackrate-menu'); if (!rateMenu) { if (attemptCount < MAX_ATTEMPTS) { timeoutId = setTimeout(applySavedPlaybackRate, RETRY_DELAY); attemptCount++; return; } console.log('未找到倍速菜单'); return; } const currentActive = rateMenu.querySelector('.bpx-state-active'); if (currentActive) { const activeRate = parseFloat(currentActive.dataset.value); if (Math.abs(activeRate - currentRate) > 0.01) { console.log(`当前倍速(${activeRate}x)与保存倍速(${currentRate}x)不一致,正在调整`); setPlaybackRate(currentRate); } else { console.log(`当前倍速(${activeRate}x)与保存倍速一致,无需调整`); } } else { console.log('未找到激活的倍速选项,尝试设置'); setPlaybackRate(currentRate); } } function setPlaybackRate(rate) { // 确保rate是支持的倍速 const supportedRate = playbackRates.find(r => Math.abs(r - rate) < 0.01) || 1; currentRate = supportedRate; isCustomRate = false; GM_setValue('bilibili_playback_rate', currentRate); GM_setValue('bilibili_custom_rate', false); const rateMenu = document.querySelector('.bpx-player-ctrl-playbackrate-menu'); if (rateMenu) { const items = rateMenu.querySelectorAll('.bpx-player-ctrl-playbackrate-menu-item'); let found = false; items.forEach(item => { const itemRate = parseFloat(item.dataset.value); if (Math.abs(itemRate - currentRate) < 0.01) { found = true; if (!item.classList.contains('bpx-state-active')) { item.click(); console.log(`已设置倍速为 ${currentRate}x`); showRateMessage(`倍速已设为 ${currentRate}x`); } } }); if (!found) { console.log(`未找到 ${currentRate}x 的倍速选项`); } } else { console.log('未找到倍速菜单'); if (attemptCount < MAX_ATTEMPTS) { timeoutId = setTimeout(() => setPlaybackRate(rate), RETRY_DELAY); attemptCount++; } } } function increasePlaybackRate() { const currentIndex = playbackRates.findIndex(r => Math.abs(r - currentRate) < 0.01); if (currentIndex > 0) { const newRate = playbackRates[currentIndex - 1]; setPlaybackRate(newRate); } else { showRateMessage('已经是最大倍速 (2x)'); console.log('已经是最大倍速 (2x)'); } } function decreasePlaybackRate() { const currentIndex = playbackRates.findIndex(r => Math.abs(r - currentRate) < 0.01); if (currentIndex < playbackRates.length - 1) { const newRate = playbackRates[currentIndex + 1]; setPlaybackRate(newRate); } else { showRateMessage('已经是最小倍速 (0.5x)'); console.log('已经是最小倍速 (0.5x)'); } } // 新增:应用保存的顶部栏状态(不切换) function applyHeaderState() { const header = document.getElementById('biliMainHeader'); if (header) { if (isHeaderHidden) { document.body.classList.add('header-hidden'); } else { document.body.classList.remove('header-hidden'); } console.log(`已应用保存的顶部栏状态: ${isHeaderHidden ? '隐藏' : '显示'}`); } else { console.log('未找到顶部栏元素'); if (attemptCount < MAX_ATTEMPTS) { timeoutId = setTimeout(applyHeaderState, RETRY_DELAY); attemptCount++; } } } // 修改后的切换函数 function toggleHeader(showMessage = true) { isHeaderHidden = !isHeaderHidden; GM_setValue('bilibili_header_hidden', isHeaderHidden); const header = document.getElementById('biliMainHeader'); if (header) { if (isHeaderHidden) { document.body.classList.add('header-hidden'); } else { document.body.classList.remove('header-hidden'); } if (showMessage) { showRateMessage(`顶部栏已${isHeaderHidden ? '隐藏' : '显示'}`); } console.log(`顶部栏状态已切换: ${isHeaderHidden ? '隐藏' : '显示'}`); } else { console.log('未找到顶部栏元素'); if (attemptCount < MAX_ATTEMPTS) { timeoutId = setTimeout(() => toggleHeader(showMessage), RETRY_DELAY); attemptCount++; } } } // 启动脚本 if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', init); } else { init(); } })();