您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Set Youtube & Overcast PlaybackRate to 1.6 by default
当前为
// ==UserScript== // @name Faster Media // @namespace http://tampermonkey.net/ // @version 0.2.9.7 // @description Set Youtube & Overcast PlaybackRate to 1.6 by default // @author Decradish // @match *www.youtube.com/watch?v=* // @match *overcast.fm/+* // @match *v.youku.com/v_show/id_* // @grant none // ==/UserScript== (function() { 'use strict'; function delegate(parent, eventType, selector, fn) { //参数处理 if(typeof parent === 'string') { var parent = document.getElementById(parent); !parent && console.log('parent not found'); } if(typeof selector !== 'string') { console.log('selector is not string'); } if(typeof fn !== 'function') { console.log('fn is not function'); } function handle(e){ //获取event对象 //标准DOM方法事件处理函数第一个参数是event对象 //IE可以使用全局变量window.event var evt = window.event ? window.event : e; //获取触发事件的原始事件源 //标准DOM方法是用target获取当前事件源 //IE使用evt.srcElement获取事件源 var target = evt.target || evt.srcElement; //获取当前正在处理的事件源 //标准DOM方法是用currentTarget获取当前事件源 //IE中的this指向当前处理的事件源 var currentTarget= e ? e.currentTarget : this; if(target.id === selector || target.className.indexOf(selector) != -1){ fn.call(target); } } parent[eventType]=handle; } var iPlaybackRate = 1.6, //rate tmVideo = document.getElementsByTagName("video")[0], tmAudio = document.getElementsByTagName("audio")[0], tmMedia = false, youkuDom = document.getElementById('module_basic_player'); //优酷 console.log('youkuDom: ', youkuDom) console.log('youkuDom.length: ', youkuDom.length) if(youkuDom){ delegate('module_basic_player', 'onplay', 'video', function(){ console.log('oooookkkkk') this.playbackRate = iPlaybackRate; }); return false; } console.log('``````tmVideo``````: ', tmVideo); if(!!tmVideo){ tmMedia = tmVideo; var youTubePlayBtn = document.getElementsByClassName('ytp-play-button') if(youTubePlayBtn.length > 0){ document.getElementsByClassName('ytp-play-button')[0].focus() } } if(!!tmAudio){ tmMedia = tmAudio; document.onkeydown = function(e) { var keyCode = e.keyCode || e.which || e.charCode; if(keyCode == 32) { tmMedia.paused ? tmMedia.play() : tmMedia.pause(); e.preventDefault(); return false; } } } if(!tmMedia){ return false; } tmMedia.playbackRate = iPlaybackRate; tmMedia.onplay = function(){ tmMedia.playbackRate = iPlaybackRate; }; tmMedia.oncanplay = function(){ tmMedia.playbackRate = iPlaybackRate; }; })();