您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Adds a button to copy lyrics with one click on lyrics.lyricfind.com
// ==UserScript== // @name Copy Lyrics Button // @namespace Violentmonkey Scripts // @version 1.3 // @description Adds a button to copy lyrics with one click on lyrics.lyricfind.com // @author low_mist // @match https://lyrics.lyricfind.com/lyrics/* // @grant none // @license MIT // ==/UserScript== (function() { 'use strict'; // Function to copy lyrics function copyLyrics() { // Find all divs with the data-testid attribute equal to 'lyrics.lyricLine' const lyricsDivs = document.querySelectorAll('div[data-testid="lyrics.lyricLine"]'); // Extract and join the lyrics text let lyrics = Array.from(lyricsDivs).map(div => div.innerText).join('\n'); // Replace multiple newlines with a single newline lyrics = lyrics.replace(/\n\s*\n/g, '\n\n'); // Copy the lyrics to the clipboard navigator.clipboard.writeText(lyrics).then(() => { showNotification('Lyrics copied to clipboard!'); }).catch(err => { console.error('Failed to copy lyrics: ', err); }); } // Function to show a small fading notification function showNotification(message) { // Create a notification div const notification = document.createElement('div'); notification.innerText = message; notification.style.position = 'fixed'; notification.style.bottom = '20px'; notification.style.right = '20px'; notification.style.padding = '10px 20px'; notification.style.backgroundColor = '#28a745'; notification.style.color = '#ffffff'; notification.style.borderRadius = '5px'; notification.style.boxShadow = '0 0 10px rgba(0, 0, 0, 0.1)'; notification.style.zIndex = 1000; notification.style.opacity = 1; notification.style.transition = 'opacity 1s ease-out'; // Append notification to the body document.body.appendChild(notification); // Fade out and remove notification after 3 seconds setTimeout(() => { notification.style.opacity = 0; setTimeout(() => { notification.remove(); }, 1000); }, 2000); } // Create a new button element const button = document.createElement('button'); button.innerText = 'Copy Lyrics'; button.style.position = 'fixed'; button.style.bottom = '10px'; // Position at the bottom button.style.right = '10px'; // Position at the right button.style.zIndex = 1000; button.style.padding = '10px'; button.style.backgroundColor = '#007BFF'; button.style.color = '#FFFFFF'; button.style.border = 'none'; button.style.borderRadius = '5px'; button.style.cursor = 'pointer'; // Add event listener to the button button.addEventListener('click', copyLyrics); // Append the button to the body document.body.appendChild(button); })();