Webm Toggle Loop

Creates a button which toggles looping on or off

  1. // ==UserScript==
  2. // @name Webm Toggle Loop
  3. // @namespace com.jeddunk.webmtoggleloop
  4. // @author Jeddunk
  5. // @description Creates a button which toggles looping on or off
  6. // @match *://*/*.webm*
  7. // @match *://*/*.mp4*
  8. // @run-at document-start
  9. // @version 1.0.2.1
  10. // @grant none
  11. // @locale english
  12. // ==/UserScript==
  13. (function () {
  14. var toggleValue = 'ON';
  15. var vids = document.getElementsByTagName('video');
  16. for (i = 0; i < vids.length; i++) vids[i].setAttribute('style','z-index: 9999');
  17. if (document.body.children.length != 1) return;
  18. var q = document.body.children[0];
  19. if (q.tagName != 'VIDEO') return;
  20. var o = q.cloneNode();
  21. var vidCont = document.createElement('div');
  22. vidCont.className = 'btnContainer';
  23. q.parentNode.appendChild(vidCont);
  24. var bt = document.createElement('input');
  25. bt.className = 'btnToggle';
  26. bt.type = 'button';
  27. bt.value = 'TOGGLE';
  28. bt.style.width = '100px';
  29. bt.addEventListener('click', function (e) {
  30. if (toggleValue == 'ON') {
  31. loopOff();
  32. } else {
  33. loopOn();
  34. }
  35. }, true);
  36. vidCont.appendChild(bt);
  37. function loopOn() {
  38. for (i = 0; i < vids.length; i++) {
  39. vids[i].setAttribute('loop', '');
  40. vids[i].play();
  41. }
  42. toggleValue = 'ON';
  43. bt.value = 'LOOP: ' + toggleValue;
  44. }
  45. function loopOff() {
  46. for (i = 0; i < vids.length; i++) vids[i].removeAttribute('loop');
  47. toggleValue = 'OFF';
  48. bt.value = 'LOOP: ' + toggleValue;
  49. }
  50. loopOff();
  51. })();