nht_cntt

Button change speed video

Feb 23rd, 2020
189
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @name         Button change speed video
  3. // @namespace    change_speed
  4. // @version      1
  5. // @description  Button change speed video
  6. // @author       nht
  7. // @include      *
  8. // @grant        unsafeWindow
  9. // @run-at       document-start
  10. // ==/UserScript==
  11.  
  12. function changeSpeed(self){
  13.     var iframes = unsafeWindow.document.querySelectorAll('iframe');
  14.     for(var i = 0; i < iframes.length; i++){
  15.         try{
  16.             iframes[i].contentWindow.postMessage(self.value, "*");
  17.         }catch(e) { console.log(e);}
  18.     }
  19.     changeSpeedIframe(self.value);
  20. }
  21.  
  22. function changeSpeedIframe(data){
  23.     var speed = parseFloat(data);
  24.     //console.log("find video tag");
  25.     var videos = unsafeWindow.document.querySelectorAll('video');
  26.     //console.log(videos);
  27.     for(var i = 0; i < videos.length; i++){
  28.         videos[i].playbackRate = speed;
  29.     }
  30. }
  31. unsafeWindow.window.changeSpeed = changeSpeed;
  32. unsafeWindow.window.changeSpeedIframe = changeSpeedIframe;
  33.  
  34.  
  35. document.addEventListener('DOMContentLoaded',
  36. function() {
  37.     var Speeds = ["1.00", "1.25", "1.50", "2.00", "300.0"];
  38.     if (window.top === window.self) {
  39.         var div = unsafeWindow.document.createElement("div");
  40.         div.innerHTML = "";
  41.         for(var i = 0; i < Speeds.length; i++){
  42.             div.innerHTML += '<button style="margin-left: 5px; margin-bottom: 5px;" type="button" value="' + Speeds[i] + '" onClick=changeSpeed(this)>x' + Speeds[i] + '</button><br>';
  43.         }
  44.         div.setAttribute("style","position: -webkit-sticky; position:fixed; bottom: 2px; left:0; font-size: 15px; color: black;");
  45.         //unsafeWindow.document.body.insertBefore(div, unsafeWindow.document.body.firstChild);
  46.         unsafeWindow.document.body.appendChild(div);
  47.     }else {
  48.         unsafeWindow.window.onmessage = function(event){
  49.             changeSpeedIframe(event.data);
  50.         }
  51.     }
  52. });
Add Comment
Please, Sign In to add comment