您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Copy playlist info for export
// ==UserScript== // @name Spotify Web - Copy playlist info // @description Copy playlist info for export // @namespace cobr123 // @version 2.9 // @license MIT // @grant GM.setClipboard // @grant GM_setClipboard // @include https://open.spotify.com/* // ==/UserScript== function copyPL() { let svPlayList = ''; document.querySelectorAll('div[data-testid="tracklist-row"] > div:nth-child(2) > div').forEach(row => { let svTrackName = row.querySelector('div').textContent; let svArtistName = row.querySelector('span').textContent; if(row.querySelectorAll('span').length > 2) { svArtistName = row.querySelector('span:nth-child(3)').textContent } let svTrackInfo = svTrackName + ' - ' + svArtistName; console.log(svTrackInfo); svPlayList += svTrackInfo + '\n'; }); GM_setClipboard(svPlayList); alert('Copied:\n' + svPlayList); } function copyPLwithTime() { let svPlayList = ''; document.querySelectorAll('div[data-testid="tracklist-row"] > div:nth-child(2) > div').forEach(row => { let svTrackName = row.querySelector('div').textContent; let svArtistName = row.querySelector('span').textContent if(row.querySelectorAll('span').length > 2) { svArtistName = row.querySelector('span:nth-child(3)').textContent } let svTrackTime = row.parentElement.parentElement.querySelector('div:nth-child(5) > div').textContent; let svTrackInfo = svTrackTime + ' ' + svTrackName + ' - ' + svArtistName; console.log(svTrackInfo); svPlayList += svTrackInfo + '\n'; }); GM_setClipboard(svPlayList); alert('Copied:\n' + svPlayList); } let bindEvents = function () { document.querySelector('div[data-testid="action-bar-row"]').innerHTML += '<button id="copy_playlist_to_clipboard" class="btn btn-green false">Copy playlist to clipboard</button>'; document.querySelector('div[data-testid="action-bar-row"]').innerHTML += '<button id="copy_playlist_to_clipboard_with_time" class="btn btn-green false">Copy playlist to clipboard with time</button>'; document.getElementById('copy_playlist_to_clipboard_with_time').onclick = copyPLwithTime; document.getElementById('copy_playlist_to_clipboard').onclick = copyPL; }; window.setTimeout(bindEvents, 1000);
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址