Copy playlist info for export
当前为
// ==UserScript==
// @name Spotify Web - Copy playlist info
// @description Copy playlist info for export
// @namespace cobr123
// @version 2.7
// @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:nth-child(1) > span').textContent;
let svArtistName = row.querySelector('div:nth-child(2) > span').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:nth-child(1) > span').textContent;
let svArtistName = row.querySelector('div:nth-child(2) > span').textContent;
let svTrackTime = row.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);