Greasy Fork

Кнопка копирования для YouTube

Добавляет кнопку для копирования текста с названием видео на YouTube

目前为 2024-11-29 提交的版本。查看 最新版本

// ==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
// ==/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();
})();