Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name Youtube looper
- // @namespace http://ayra.ch/
- // @version 0.1
- // @description Loops youtube videos
- // @author You
- // @match https://www.youtube.com/watch*
- // @match http://www.youtube.com/watch*
- // @grant none
- // ==/UserScript==
- /* jshint -W097 */
- "use strict";
- (function($){
- var addBtn=function()
- {
- var buttons=$(".watch-secondary-actions");
- if($(".looper-btn") || !buttons)
- {
- return;
- }
- var isLoop=false;
- var isColor=false;
- var looper=document.createElement("button");
- var blinker=function()
- {
- if(isLoop || isColor)
- {
- looper.style.backgroundColor=isColor?"transparent":"#e62117";
- isColor=!isColor;
- }
- };
- var flasher=window.setInterval(blinker,500);
- looper.innerHTML="<span class=\"yt-uix-button-content\">↺ Repeat</span>";
- looper.onclick=function()
- {
- isLoop=!isLoop;
- $("video").loop=isLoop;
- };
- looper.style.borderRadius="5px";
- looper.setAttribute("class","looper-btn yt-uix-button yt-uix-button-size-default yt-uix-button-opacity yt-uix-tooltip");
- looper.setAttribute("data-tooltip-text","enable or disable video looping");
- looper.setAttribute("role","button");
- buttons.appendChild(looper);
- };
- var mo=new MutationObserver(function(evt)
- {
- addBtn();
- });
- mo.observe($("body"),{childList:true});
- addBtn();
- })(document.querySelector.bind(document));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement