AyrA icon

Tampermonkey script for repeat button below a Youtube video

AyrA | PRO | 03/29/16 09:32:23 PM UTC | 0 ⭐ | 439 👁️ | Never ⏰ | []
JavaScript |

1.43 KB

|

None

|

0 👍

/

0 👎

// ==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\">&#x21BA; 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));

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎