// ==UserScript== // @name Кнопка копирования для YouTube // @namespace http://tampermonkey.net/ // @version 1.1 // @description Добавляет кнопку для копирования текста с названием видео на YouTube // @author GRPZDC // @match https://www.youtube.com/watch* // @icon https://www.youtube.com/favicon.ico // @grant none // @downloadURL none // ==/UserScript== (function () { 'use strict'; // Функция для добавления кнопки function addCopyButton() { // Найдем элемент с названием видео const titleElement = document.querySelector('h1.style-scope.ytd-watch-metadata yt-formatted-string'); // Проверяем, найден ли элемент с названием и нет ли уже кнопки if (titleElement && !document.querySelector('#copy-button')) { // Создаем кнопку const button = document.createElement('button'); button.id = 'copy-button'; button.textContent = 'Копировать'; button.style.marginLeft = '10px'; button.style.padding = '5px 10px'; button.style.backgroundColor = '#cc0000'; button.style.color = 'white'; button.style.border = 'none'; button.style.cursor = 'pointer'; button.style.borderRadius = '4px'; // Обработчик клика button.addEventListener('click', () => { const videoTitle = titleElement.textContent.trim(); // Получаем текст названия const textToCopy = `Смотрим *${videoTitle}* - https://live.vkvideo.ru/grpzdc\nСмотрим *${videoTitle}* - https://live.vkvideo.ru/grpzdc\nСмотрим *${videoTitle}* - https://live.vkvideo.ru/grpzdc`; navigator.clipboard.writeText(textToCopy).then(() => { }).catch(err => { console.error('Ошибка копирования:', err); }); }); // Вставляем кнопку в DOM titleElement.parentNode.appendChild(button); } } // Наблюдаем за изменениями на странице const observer = new MutationObserver(addCopyButton); observer.observe(document.body, { childList: true, subtree: true }); // Добавление кнопки при первом рендере addCopyButton(); })();