您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Set Youtube & Overcast PlaybackRate to 1.75 by default
// ==UserScript== // @name Faster Media // @namespace http://tampermonkey.net/ // @version 0.3.0 // @description Set Youtube & Overcast PlaybackRate to 1.75 by default // @author Decradish // @match *www.youtube.com/watch?v=* // @match *overcast.fm/+* // @grant none // ==/UserScript== (function() { 'use strict'; // 核心方法 var coreFn = () => { var iPlaybackRate = 1.75, //rate tmVideo = document.getElementsByTagName("video")[0], tmMedia = false, OcRange = document.getElementById('speedcontrol') //Overcast if(!!tmVideo){ tmMedia = tmVideo; var youTubePlayBtn = document.getElementsByClassName('ytp-play-button') if(youTubePlayBtn.length > 0){ document.getElementsByClassName('ytp-play-button')[0].focus() } } if(!!OcRange){ OcRange.stepUp(5) document.getElementById('speedlabel0').style.color = '#000' document.getElementById('speedlabel1500').style.color = '#fff' } if(!tmMedia){ obsFn() return false; } tmMedia.playbackRate = iPlaybackRate; tmMedia.onplay = function(){ tmMedia.playbackRate = iPlaybackRate; }; tmMedia.oncanplay = function(){ tmMedia.playbackRate = iPlaybackRate; }; } // 观察器方法 const obsFn = () => { // 观察器的执行函数 var obsCb = (mutationsList, mutationObserver) => { // 遍历出所有的MutationRecord对象 mutationsList.forEach(function (mutation) { // 找一下目标元素 const hasTargetElem = [...mutation.addedNodes].some((item => item.tagName === 'VIDEO' )); if(hasTargetElem){ // 已产生目标元素,停止观察 observer.disconnect() // 执行核心方法 coreFn(); } }); } // 设置一个观察器 var observer = new MutationObserver(obsCb); // 观察目标元素是否出现 observer.observe(document.body, { childList: true, subtree: true }); } // 触发核心逻辑 coreFn(); })();