您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Modify the YouTube HTML player interface
当前为
// ==UserScript== // @name YouTube Quick Speed Interface // @name:en YouTube Quick Speed Interface // @namespace https://twitter.com/CobleeH // @version 1.05 // @description Modify the YouTube HTML player interface // @description:en Modify the YouTube HTML player interface // @author CobleeH // @match https://www.youtube.com/* // @grant none // @license MIT // ==/UserScript== // @changelog Version 1.05: // - Added MutationObserver to dynamically add speed options when the YouTube player container is added to the document. // - Fixed a bug where duplicate speed adjustment options were created by checking for the existence of the .ytp-speed-options element before adding. (function() { 'use strict'; // Write your script code here // 添加倍速选项 (Add speed options) function addSpeedOptions() { // 检查是否已添加倍速选项 (Check if speed options are already added) if (document.querySelector('.ytp-speed-options')) { return; } var rightControls = document.querySelector('.ytp-right-controls'); var leftControls = document.querySelector('.ytp-left-controls'); if (rightControls && leftControls) { var speedOptions = document.createElement('div'); speedOptions.classList.add('ytp-speed-options'); speedOptions.style.display = 'flex'; speedOptions.style.alignItems = 'center'; speedOptions.style.order = '2'; speedOptions.style.marginLeft = '10px'; speedOptions.style.marginRight = '25px'; var label = document.createElement('span'); label.innerText = 'Speed'; speedOptions.appendChild(label); var speeds = [0.5, 1, 1.5, 2]; speeds.forEach(function(speed) { var option = document.createElement('div'); option.innerText = speed + 'x'; option.classList.add('ytp-speed-option'); option.style.cursor = 'pointer'; option.style.marginLeft = '5px'; option.addEventListener('click', function() { var player = document.querySelector('.video-stream'); if (player) { player.playbackRate = speed; } highlightOption(option); }); option.addEventListener('mouseover', function() { option.classList.add('highlighted'); }); option.addEventListener('mouseout', function() { if (!option.classList.contains('active')) { option.classList.remove('highlighted'); } }); speedOptions.appendChild(option); // 检查当前播放速度,如果与选项匹配,则添加高亮样式 (Check current playback speed and add highlight style if it matches the option) var player = document.querySelector('.video-stream'); if (player && player.playbackRate === speed) { highlightOption(option); } }); leftControls.style.order = '1'; rightControls.style.order = '3'; document.querySelector('.ytp-chrome-controls').appendChild(speedOptions); } } function highlightOption(option) { // 移除其他选项的高亮样式 (Remove highlight style from other options) var options = document.querySelectorAll('.ytp-speed-option'); options.forEach(function(opt) { opt.classList.remove('active'); }); // 添加当前选项的高亮样式 (Add highlight style to the current option) option.classList.add('active'); } // 添加高亮样式 (Add highlight styles) var style = document.createElement('style'); style.innerHTML = ` .ytp-speed-option { transition: background-color 0.3s; } .ytp-speed-option:hover { background-color: rgba(211, 211, 211, 0.4); } .ytp-speed-option.active, .ytp-speed-option.active:hover { background-color: rgba(211, 211, 211, 0.4); } `; document.head.appendChild(style); // 使用 MutationObserver 监听播放器容器元素的变化 (Use MutationObserver to monitor changes in the player container element) var observer = new MutationObserver(function(mutations) { mutations.forEach(function(mutation) { // 检查是否有新添加的节点 (Check if there are newly added nodes) if (mutation.addedNodes) { Array.from(mutation.addedNodes).forEach(function(node) { if (node.classList && node.classList.contains('html5-video-player')) { // 播放器容器元素变化时添加倍速选项 (Add speed options when the player container element changes) addSpeedOptions(); } }); } }); }); // 观察整个文档的变化 (Observe changes in the entire document) observer.observe(document.documentElement, { childList: true, subtree: true }); // 页面完全加载后添加倍速选项 (Add speed options when the page is fully loaded) addSpeedOptions(); })(); /* ================ Chinese Version ================= 在YouTube播放器上添加倍速选项 此脚本将在YouTube HTML播放器界面中添加一个倍速控制功能,允许您使用预定义的倍速选项更改视频的播放速度。 使用说明: - 安装脚本后,您将在播放器控制栏旁边看到一个“Speed”标签。 - 单击所需的速度选项以更改播放速度。 - 选定的速度选项将突出显示,并在视频播放时应用。 注意: - 此脚本适用于YouTube的HTML播放器界面。 ================ English Version ================ Adding Playback Speed Options to YouTube Player This script adds a playback speed control feature to the YouTube HTML player interface, allowing you to change the video's playback speed using predefined speed options. Instructions: - After installing the script, you will see a "Speed" label next to the player controls. - Click on the desired speed option to change the playback speed. - The selected speed option will be highlighted and applied during video playback. Note: - This script is compatible with YouTube's HTML player interface. */