// ==UserScript== // @name Youtube.com Auto Continue Playback // @namespace q1k // @version 2.1.1 // @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 // @downloadURL none // ==/UserScript== var video_player; var user_clicked_time=0; var checkElementID; function addListeners() { video_player.addEventListener('pause', (e) => { if(e.srcElement.ended || e.srcElement.seeking){ 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();