您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Shows currently playing track in the page/window/tab title
// ==UserScript== // @name Bandcamp Current Title // @version 1.3 // @author raina // @namespace raina // @description Shows currently playing track in the page/window/tab title // @license GPLv3 // @include /^https?:\/\// // @grant none // ==/UserScript== window.self === window.top && window.siteroot && "https://bandcamp.com" == window.siteroot && (function() { const title = document.head.querySelector(`title`); const album = document.body.querySelector(`#name-section h2.trackTitle`).textContent.trim(); const albumArtist = document.body.querySelector(`#name-section h3 span a`).textContent.trim(); const currentTrack = document.body.querySelector('.inline_player .title'); const year = document.body.querySelector(`.tralbum-credits`).textContent.match(/(?<=released.*)(\d{4})(?=\n)/)[0]; let artist, track; let llamaTime; const llamaScroll = () => { observer.disconnect(); title.textContent = title.textContent.slice(0,3) + title.textContent.slice(4) + title.textContent.slice(3,4); observer.observe(title, {childList:true}); } const observer = new MutationObserver((mutationList, observer) => { let titleString = currentTrack.textContent; observer.disconnect(); if (mutationList[0].addedNodes[0].data.includes("▶︎")) { if (track = titleString.split(" - ")[1]) { artist = titleString[0]; } else { artist = albumArtist; track = currentTrack.textContent.trim(); } title.textContent = `▶︎ ${album}, ${year}) ${artist} – ${track} (`.replace(/ /g, "\xa0"); llamaTime = setInterval(llamaScroll, 250); } else { clearInterval(llamaTime); title.textContent = title.dataset.originalTitle; } observer.observe(title, {childList:true}); }); title.dataset.originalTitle = title.textContent.trim(); observer.observe(title, {childList:true}); }());