// ==UserScript== // @name Bandcamp: Add volume slider // @include https://*.bandcamp.com/* // @include https://sewerslvt.com/* // @include https://store.sigurros.com/* // ==/UserScript== function setVolume(volume) { document.querySelectorAll("audio").forEach(el => el.volume = volume / 100) localStorage.setItem("volume", volume) } function loadStoredVolume() { return localStorage.getItem("volume") ? Number(localStorage.getItem("volume")) : 25 } const volumeControlContainer = document.createElement("div") volumeControlContainer.style.position = "fixed" volumeControlContainer.style.top = 0 volumeControlContainer.style.left = 0 volumeControlContainer.style["z-index"] = 10000 const volumeControlSlider = document.createElement("input") volumeControlSlider.type = "range" volumeControlSlider.min = 0 volumeControlSlider.max = 100 volumeControlSlider.value = loadStoredVolume() volumeControlSlider.addEventListener("input", e => {setVolume(e.target.value)}) volumeControlContainer.appendChild(volumeControlSlider) document.body.appendChild(volumeControlContainer) setInterval(() => {setVolume(loadStoredVolume())}, 1000)