YouTube Restart Video Button

Добавляет кнопку для возврата видео на начало.

  1. // ==UserScript==
  2. // @name YouTube Restart Video Button
  3. // @namespace https://github.com/ToLIManl
  4. // @version 0.7
  5. // @description Добавляет кнопку для возврата видео на начало.
  6. // @description:ru Добавляет кнопку для возврата видео на начало.
  7. // @description:en Adds the video return button to the beginning.
  8. // @author ToLIMan
  9. // @match https://www.youtube.com/*
  10. // @grant none
  11. // @license MIT
  12. // @name:ru Кнопка воспроизвести видео сначала Youtube
  13. // @name:en YouTube Restart Video Button
  14. // ==/UserScript==
  15.  
  16. (function() {
  17. 'use strict';
  18.  
  19. // Функция для создания кнопки
  20. function addRestartButton() {
  21. const controls = document.querySelector('.ytp-left-controls'); // Панель управления YouTube
  22. if (!controls || document.querySelector('#restart-button')) return; // Проверка наличия панели и кнопки
  23.  
  24. // Создание кнопки
  25. const button = document.createElement('button');
  26. button.id = 'restart-button';
  27. button.textContent = '⏪'; // Иконка кнопки
  28. button.title = 'Вернуть на начало';
  29. button.style.cssText = `
  30. background: none;
  31. border: none;
  32. color: white;
  33. font-size: 16px;
  34. cursor: pointer;
  35. padding: 0 10px;
  36. `;
  37.  
  38. // Добавление обработчика нажатия
  39. button.addEventListener('click', () => {
  40. const video = document.querySelector('video');
  41. if (video) {
  42. video.currentTime = 0; // Устанавливаем время на 0
  43. }
  44. });
  45.  
  46. // Добавление кнопки в панель управления
  47. controls.insertBefore(button, controls.firstChild);
  48. }
  49.  
  50. // Наблюдатель для динамического добавления кнопки
  51. const observer = new MutationObserver(() => {
  52. addRestartButton();
  53. });
  54.  
  55. observer.observe(document.body, { childList: true, subtree: true });
  56. })();