Add Sound Player

Changes the download URLs for the sounds so if you left click they preview the audio, right click instead downloads the audio.

Dovrai installare un'estensione come Tampermonkey, Greasemonkey o Violentmonkey per installare questo script.

Dovrai installare un'estensione come Tampermonkey o Violentmonkey per installare questo script.

Dovrai installare un'estensione come Tampermonkey o Violentmonkey per installare questo script.

Dovrai installare un'estensione come Tampermonkey o Userscripts per installare questo script.

Dovrai installare un'estensione come ad esempio Tampermonkey per installare questo script.

Dovrai installare un gestore di script utente per installare questo script.

(Ho già un gestore di script utente, lasciamelo installare!)

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

(Ho già un gestore di stile utente, lasciamelo installare!)

// ==UserScript==
// @name         Add Sound Player
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  Changes the download URLs for the sounds so if you left click they preview the audio, right click instead downloads the audio.
// @author       eM-Krow
// @match        *://noproblo.dayjo.org/ZeldaSounds/ZSS/index.html*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=dayjo.org
// @license      MIT
// @grant        none
// ==/UserScript==

(function() {
    'use strict';
    const playSound = (sound) => {
        let audio = new Audio(sound);
        audio.loop = false;
        audio.play();
    };

    const generatePlayButtons = () => {
        let sounds = Array.from(document.querySelectorAll("a")).filter(a => a.href.includes(".wav"));
        for (let s in sounds) {
            const url = sounds[s].href;
            sounds[s].href = `#${url.split("/")[url.split("/").length - 1]}`;
            sounds[s].onclick = () => {
                playSound(`${url}`)
            };
            sounds[s].oncontextmenu = () => {
                window.location = `${url}`
            };
        }
    };

    generatePlayButtons();
})();