您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Override the html5 video volume to 1 when player's volume slider is set to 100%.
// ==UserScript== // @name Youtube Video Max Volume Patch // @namespace http://github.com/jaytohe/ // @version 0.2 // @description Override the html5 video volume to 1 when player's volume slider is set to 100%. // @author jaytohe // @license MIT // @match https://www.youtube.com/* // @run-at document-idle // @grant none // ==/UserScript== (function() { 'use strict'; const curr_volume = () => document.querySelector('div[class^="ytp-volume-panel"]').getAttribute('aria-valuenow'); const get_video = () => document.querySelector('video[src]'); //video[src] is used to prevent accidental firing on bogus video in homepage const forceMaxVol = (event) => { if (curr_volume() === '100') { event.target.volume = 1; } } const initHijack = (video) => { if (video !== null && curr_volume() !== null) { console.log('Patching max volume...'); if (curr_volume() === '100') //in case video autoplays video.volume = 1; if (video.onplay === null) video.onplay = forceMaxVol; if(video.onvolumechange === null) video.onvolumechange = forceMaxVol; } } const wait_for_video = setInterval(function() { if (get_video() !== null) { console.log('[YOTUBE MAX VOLUME PATCH] -- FOUND VIDEO.'); setTimeout(()=>initHijack(get_video()), 1000); clearInterval(wait_for_video); } }, 500); })();