try to take over the world!
// ==UserScript==
// @name Youtube adjust playback rate using [ , ]
// @namespace http://tampermonkey.net/
// @version 0.2
// @description try to take over the world!
// @author You
// @match https://www.youtube.com/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=simply-how.com
// @grant none
// @license MIT
// ==/UserScript==
(function() {
'use strict';
// Your code here...
const PATH_NAME = 'watch'
window.addEventListener('yt-page-type-changed', function () {
console.log('location changed!');
initFunctionality(PATH_NAME)
});
if(window.location.pathname.indexOf(PATH_NAME)>-1){
initFunctionality(PATH_NAME)
}
function initFunctionality(pathName){
if(window.location.pathname.indexOf(pathName)>-1){
let secondsOver = 0
const myInterval = setInterval(()=>{
secondsOver++;
const els = document.getElementsByTagName('video')
if(secondsOver >=5){
console.log("More than 5 seconds over");
stopColor()
return
}
if(els.length == 0){
console.log("Video tag not found");
return
}
const video = els[0]
const body = document.getElementsByTagName('body')
const element = body[0]
function speedChangedMessageDiplay(type,time){
let block_to_insert = document.createElement( 'div' );
const DIV_ID = 'speed-change-div';
block_to_insert.innerHTML = `Speed ${type} to ${video.playbackRate}` ;
block_to_insert.id = DIV_ID;
block_to_insert.style.color = '#ffffff';
block_to_insert.style.position = 'absolute';
block_to_insert.style["z-index"] = 100;
block_to_insert.style.top = '0px';
block_to_insert.style.fontSize = '15px';
const videoPlayerWrappers = document.getElementsByClassName('html5-video-container')
if(videoPlayerWrappers.length == 0) return;
const videoPlayerWrapper = videoPlayerWrappers[0]
videoPlayerWrapper.appendChild(block_to_insert);
setTimeout(()=>{
const divEl = document.getElementById(DIV_ID);
divEl.remove()
},time)
}
element.onkeyup = (event)=>{
if(event.key == ']'){
video.playbackRate+=0.25
speedChangedMessageDiplay('increased',500)
}
else if(event.key == '['){
video.playbackRate-=0.25
speedChangedMessageDiplay('decreased',500)
}
}
stopColor()
}, 1000);
function stopColor() {
clearInterval(myInterval);
}
}
}
})();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址