Youtube Embed Skip Buttons Mod

Skip buttons for embeded youtube iframes.

  1. // ==UserScript==
  2. // @name Youtube Embed Skip Buttons Mod
  3. // @namespace userscript
  4. // @include *.youtube.com/embed/*
  5. // @include *.youtube-nocookie.com/embed/*
  6. // @version 2017.8.22
  7. // @description Skip buttons for embeded youtube iframes.
  8. // @author copypastetada ttbbzz
  9. // @homepageURL https://greatest.deepsurf.us/en/users/2617
  10. // @grant none
  11. // ==/UserScript==
  12.  
  13. document.addEventListener("DOMContentLoaded",function(){
  14. function seekVDO(interval){
  15. interval += Math.floor(vdo_player.getCurrentTime());
  16. vdo_player.seekTo(interval);
  17. }
  18. var vdo_player = document.querySelector(".html5-video-player"),
  19. skip_buttons = [{text:"-5s",interval:-5},
  20. {text:"+5s",interval:5},
  21. {text:"+15s",interval:15}];
  22. var timer0 = setInterval(function(){
  23. if(vdo_player) {
  24. skip_container = document.querySelector('.ytp-left-controls');
  25. check_existing_skipbtn = document.querySelector('.skip');
  26. if (!check_existing_skipbtn && skip_container) {
  27. skip_buttons.forEach(function(b){
  28. sb = document.createElement('button');
  29. sb.setAttribute('class', 'ytp-button skip');
  30. sb.addEventListener('click',function(){seekVDO(b.interval)});
  31. sb.innerHTML = '<span>'+b.text+'</span>';
  32. sb.style.verticalAlign = "top";
  33. sb.style.textAlign = "center";
  34. skip_container.appendChild(sb);
  35. });
  36. } else { console.log("%cplayer control div.ytp-left-controls not found","color:maroon;"); }
  37. clearInterval(timer0);
  38. } else {
  39. console.log("%clooking for div.html5-video-player","color:teal;");
  40. vdo_player = document.querySelector(".html5-video-player");
  41. }
  42. },100);
  43. },false);