您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Improve 2xAA's 8bcdump site (non-ID3 mode), adding a last played list and emboldening the currently playing song.
当前为
// ==UserScript== // @name Improve 8bcDump // @namespace Improve8bcDump // @description Improve 2xAA's 8bcdump site (non-ID3 mode), adding a last played list and emboldening the currently playing song. // @include http://brkbrkbrk.com/8bcdump/ // @version 0.1 // @grant none // ==/UserScript== (function() { // The currently playing song should appear bold in list views. // .playing is a single <li> in the list of all songs. // .lastPlayed is an <ol> containing the last played songs. var styleEl = document.createElement('style'); styleEl.innerHTML = '.playing, .lastPlayed li:first-child { font-weight: bold; }'; styleEl.innerHTML += '.playing:after, .lastPlayed li:first-child:after { content: " (playing)" }'; document.body.appendChild(styleEl); // Create a queue for the last played songs. // The queue is realized in an <ol>, contained in parentElement. function LastPlayedList(maxLength, parentElement) { // Create a heading for the last played list var heading = document.createElement('h2'); heading.textContent = 'Last played'; parentElement.appendChild(heading); // Create the list itself var list = document.createElement('ol'); list.className = 'lastPlayed'; parentElement.appendChild(list); // Push songs through the stack this.push = function(song) { var nodes = list.childNodes; if (nodes.length == maxLength) { list.removeChild(nodes[nodes.length - 1]); } var newItem = document.createElement('li'); newItem.textContent = song; list.insertBefore(newItem, nodes[0]); } } // Create a list at the bottom of the page to hold the last 10 songs var lastPlayedDiv = document.createElement('div'); document.body.appendChild(lastPlayedDiv); var lastPlayedList = new LastPlayedList(10, lastPlayedDiv); // The player at the bottom of the page // should also show the filename when playing songs. var updateID3_super = window.updateID3; // Override the existing updateID3 method window.updateID3 = function(id3) { updateID3_super(id3); var url = document.querySelector('li.playing a').href; var urlParts = decodeURIComponent(url).split('/'); var filename = urlParts.pop(); var liID3 = document.querySelector('li.id3 '); liID3.textContent += ', Filename: ' + filename; // Add the current song to the last played list lastPlayedList.push(liID3.textContent); } }());