您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Does what @name says
// ==UserScript== // @name Make YouTube arrow up/dn set volume in 1% incrementals // @namespace Violentmonkey Scripts // @match https://www.youtube.com/* // @grant none // @version 1.1 // @author LuK1337 // @description Does what @name says // @license GPL-3.0-only // ==/UserScript== window.addEventListener('keydown', function(e) { if (e.target.id === 'movie_player') { // Set player volume const player = document.getElementById('movie_player') let player_volume = player.getVolume() if (e.keyCode === 38) { player_volume += 1 e.preventDefault() e.stopPropagation() } else if (e.keyCode === 40) { player_volume -= 1 e.preventDefault() e.stopPropagation() } else { return } player_volume = Math.min(Math.max(player_volume, 0), 100) player.setVolume(player_volume) // Save player volume let storedVolume = JSON.parse(localStorage['yt-player-volume']) let storedVolumeData = JSON.parse(storedVolume['data']) storedVolumeData.volume = player_volume storedVolume['data'] = JSON.stringify(storedVolumeData) localStorage['yt-player-volume'] = JSON.stringify(storedVolume) sessionStorage['yt-player-volume'] = JSON.stringify(storedVolume) // Display volume change on screen // Stolen from: https://greasyfork.org/en/scripts/479475-youtube-display-current-volume let volumeDisplay = document.querySelector('#ytp-video-volume') if (!volumeDisplay) { volumeDisplay = document.createElement('div') volumeDisplay.id = 'ytp-video-volume' volumeDisplay.style.position = 'absolute' volumeDisplay.style.top = '10%' volumeDisplay.style.left = '50%' volumeDisplay.style.translate = '-50%' volumeDisplay.style.textAlign = 'center' volumeDisplay.style.background = 'rgba(0,0,0,.5)' volumeDisplay.style.color = '#eee' volumeDisplay.style.fontSize = '175%' volumeDisplay.style.zIndex = '19' volumeDisplay.style.padding = '10px 20px' volumeDisplay.style.borderRadius = '3%' const playerContainer = document.querySelector('.html5-video-player') playerContainer.appendChild(volumeDisplay) } volumeDisplay.textContent = `${player_volume}%` volumeDisplay.style.display = 'block' clearTimeout(volumeDisplay.timeout) volumeDisplay.timeout = setTimeout(() => { volumeDisplay.style.display = 'none' }, 1000) } }, true)