Раздел 23.01.2022

Скрипт Tampermonkey для повтора видео Youtube

Иногда хочется повторить проигрывание видео Youtube несколько раз. Однако, кнопки такой у него нет. Этот простой скрипт реализует такой функционал.

// ==UserScript==
// @name Repeat on Youtube
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Repeat on Youtube
// @author VVSite
// @match https://www.youtube.com/*
// @icon https://www.google.com/s2/favicons?domain=youtube.com
// @grant none
// ==/UserScript==

(function() {
'use strict';
top.rep = false;

let b_div = document.createElement('div');
b_div.style.position = 'relative';
let b_style = 'font-size: 30px; display: block; position: absolute; left: -55px; cursor: pointer; font-weight: bold; top: -8px; padding: 0 10px;border: 1px solid #cacaca; border-radius: 50%; padding-bottom: 5px;';
let tmp = '<span id="vvs-rep" style="' + b_style + '">↻</span>';
b_div.innerHTML = tmp;
let sp = null;

let video_player = document.querySelectorAll('#movie_player')[0];

if (video_player)
{
let t_obr = setInterval( function(){

let url = location.href;
if (/watch\?v\=/.test(url))
{
//let zag = document.querySelectorAll('.ytd-video-primary-info-renderer')[0];
let zag = document.querySelectorAll('.style-scope.ytd-watch-metadata')[0];

zag.before(b_div);

sp = b_div.querySelector('#vvs-rep');
if(sp)
{
sp.onmouseover = function(e)
{
this.setAttribute('style', 'background: orange; ' + b_style);
}
sp.onmouseout = function(e)
{
this.setAttribute('style', 'background: #fff;' + b_style);
}
sp.onclick = function(e)
{
if (!top.rep)
{
b_style += 'color: red; background: #eaeaea;';
this.setAttribute('style', b_style);
top.rep = true;
}
else
{
b_style = b_style.substr(0, b_style.length - 32);
this.setAttribute('style', b_style);
top.rep = false;
}
}

if (video_player.getCurrentTime() == video_player.getDuration() && top.rep)
{
video_player.playVideo();
}
}

}

}, 1500);
}
else
{
//clearInterval(t_obr);
}
})();

 

Протестировано в Firefox 96.0.2. Для использования скрипта:

1. Установите плагин Tampermonkey для Firefox.

2. Скопируйте содержимое кода скрипта вверху.

3. Щелкните на кнопке плагина, чтобы вызвать меню и выберите «Создать новый скрипт».

4. Удалите весь текст, который Tampermonkey автоматически добавляет в новый скрипт и вставьте из буфера скопированный в п.2 код.

5. Сохраните скрипт по «Файл — Сохранить».

6. Откройте любой ролик Youtube, вы должны увидеть появившуюся кнопку повтора слева от заголовка видео. Если ее нажать, она станет красной и после окончания воспроизведения ролик автоматически запустится вновь.

7. Повторное нажатие прекратит автоматическое воспроизведение.