Greasy Fork is available in English.
auto resume when playback stops it asks to press 'yes' to continue play, now without delay after pause. Keep playing forever.
当前为
// ==UserScript==
// @name Youtube.com Auto Continue Playback
// @namespace q1k
// @version 2.1.0
// @description auto resume when playback stops it asks to press 'yes' to continue play, now without delay after pause. Keep playing forever.
// @author q1k
// @match *://music.youtube.com/*
// @include *://www.youtube.com/*
// @include *://m.youtube.com/*
// @grant none
// @run-at document-idle
// ==/UserScript==
var video_player;
var user_clicked_time=0;
var checkElementID;
function addListeners() {
video_player.addEventListener('pause', (e) => {
if(e.srcElement.ended){
return;
}
if(user_clicked_time>0){
let temp_time=new Date().getTime();
if(temp_time - user_clicked_time < 1000) {
return;
}
}
e.srcElement.play();
});
window.addEventListener('keydown', (e) => {
if (e.target.tagName=="INPUT" || e.target.tagName=="TEXTAREA" || e.target.contentEditable=="true" || e.target.contentEditable==true){
return;
}
else {
user_clicked_time=new Date().getTime();
}
});
window.addEventListener('pointerup', (e) => {
if (e.which == 1) {
user_clicked_time=new Date().getTime();
}
});
}
function startElementChecker(){
checkElementID = setInterval(function(){
if ( (typeof(document.querySelector(video_player)) == undefined || document.querySelector(video_player) == null) ) {
return;
}
video_player = document.querySelector(video_player);
addListeners();
clearInterval(checkElementID);
},1000);
}
function begin(){
if(document.domain=="music.youtube.com"){
video_player="#song-video #movie_player .html5-video-container video";
} else if(document.domain=="www.youtube.com"){
video_player="#ytd-player #movie_player .html5-video-container video";
} else if(document.domain=="m.youtube.com"){
video_player="#player #movie_player .html5-video-container video";
}
startElementChecker();
}
begin();