您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Copies tracklist information from a VGMdb album page.(Dont work tempermonkey)
当前为
// ==UserScript== // @name VGMdb Tracklist Copier // @version 0.3 // @description Copies tracklist information from a VGMdb album page.(Dont work tempermonkey) // @author LunaSama154 // @match https://vgmdb.net/album/* // @grant LunaSama154 // @license MIT // @namespace LunaSama154 // ==/UserScript== (function() { 'use strict'; function copyTracklistToClipboard() { // Find all tracklist containers (one per disc) const tracklistContainers = document.querySelectorAll('#tracklist > span.tl'); if (tracklistContainers.length === 0) { alert('Tracklist not found on this page.'); return; } let tracklistText = ''; tracklistContainers.forEach((tracklistContainer, index) => { // Add disc number header const discNumber = index + 1; tracklistText += `Disc ${discNumber}\n`; // Extract track information const trackRows = tracklistContainer.querySelectorAll('table.role tr.rolebit'); trackRows.forEach(row => { const columns = row.querySelectorAll('td'); if (columns.length >= 3) { const trackNumber = columns[0].textContent.trim(); const trackTitle = columns[1].textContent.trim(); const trackDuration = columns[2].textContent.trim(); tracklistText += `${trackNumber}. ${trackTitle} ${trackDuration}\n`; } }); // Add disc length const discLengthElement = tracklistContainer.querySelector('span.time:last-of-type'); if (discLengthElement) { const discLength = discLengthElement.textContent.trim(); tracklistText += `Disc length ${discLength}\n`; } // Add a newline between discs if (index < tracklistContainers.length - 1) { tracklistText += '\n'; } }); navigator.clipboard.writeText(tracklistText) .then(() => { alert('Tracklist copied to clipboard!'); }) .catch(err => { console.error('Failed to copy tracklist: ', err); alert('Failed to copy tracklist. See console for details.'); }); } const copyButton = document.createElement('button'); copyButton.textContent = 'Copy Tracklist'; copyButton.style.marginTop = '10px'; copyButton.addEventListener('click', copyTracklistToClipboard); const tracklistContainer = document.querySelector('#tracklist'); tracklistContainer.parentNode.insertBefore(copyButton, tracklistContainer.nextSibling); })();