Set Youtube & Overcast PlaybackRate to 1.6 by default
当前为
// ==UserScript==
// @name Faster Media
// @namespace http://tampermonkey.net/
// @version 0.2.10.2
// @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'); //优酷
if(youkuDom){
var youkuInterval = setInterval(function(){
var ykPlayer = document.getElementById('#ykPlayer');
if(ykPlayer && ykPlayer.length > 0){
clearInterval(youkuInterval);
var videos = document.getElementsByTagName('video');
for(var i=0;i<videos.length;i++){
videos[i].playbackRate = iPlaybackRate;
videos[i].oncanplay = function(){
this.playbackRate = iPlaybackRate;
}
}
}
}, 10);
return false;
}
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;
};
})();