您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
记录并自动使用上一次的播放速度与画质
当前为
// ==UserScript== // @name Youtube Mobile自动画质与倍速 // @namespace http://tampermonkey.net/ // @license MIT // @version 0.0.2 // @description 记录并自动使用上一次的播放速度与画质 // @author Eric // @match https://m.youtube.com/watch* // @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== // @grant none // @run-at document-end // ==/UserScript== (function() { 'use strict'; const getPlayer = () => { const l = document.getElementsByClassName("html5-video-player"); if (l.length === 0) return null; return l[0]; } const wait = duration => new Promise((res) => { setTimeout(res, duration); }); let player; let retry = 0; const keepGetPlayer = async () => { player = getPlayer(); console.log(player); if (!player && retry++ < 5) { await wait(1000); await keepGetPlayer(); } } (async () => { await keepGetPlayer(); })(); if (!player) { console.warn("no player found"); return; } const container = document.querySelector('#player-control-container'); if (!container) return; container.addEventListener('click', () => { const settingsIcon = document.querySelector('.player-settings-icon'); if (!settingsIcon) return; const onSettingsIconClick = async () => { settingsIcon.removeEventListener('click', onSettingsIconClick); await wait(200); const speedSelect = document.querySelector('.player-speed-settings > select'); speedSelect.addEventListener('change', e => { localStorage.setItem('yarq:speed', speedSelect.value); }) const qualitySelect = document.querySelector('.player-quality-settings > select'); qualitySelect.addEventListener('change', e => { localStorage.setItem('yarq:quality', qualitySelect.value); }) } settingsIcon.addEventListener('click', onSettingsIconClick); }) const speed = localStorage.getItem('yarq:speed'); speed && player.setPlaybackRate(+speed); const quality = localStorage.getItem('yarq:quality'); quality && player.setPlaybackQualityRange(quality); })();