您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Add download link to Soundsnap previews.
当前为
// ==UserScript== // @name Soundsnap Downloader // @namespace https://github.com/Enchoseon/enchos-assorted-userscripts/raw/main/soundsnap-downloader.user.js // @version 1.1.0 // @description Add download link to Soundsnap previews. // @author Enchoseon // @include *soundsnap.com/search/audio?* // @grant none // @run-at document-start // ==/UserScript== (function() { "use strict"; // ================= // Mutation Observer // ================= const observer = new MutationObserver(function(mutations_list) { mutations_list.forEach(function(mutation) { mutation.addedNodes.forEach(function(added_node) { if (added_node.classList && added_node.classList.contains("ojoo-teaser")) { start(); } }); }); }); observer.observe(document, { subtree: true, childList: true }); function start() { // ========================= // Intercept Download Button // ========================= document.querySelectorAll("div.ojoo-teaser").forEach((track) => { if (track.dataset.processed) return; track.dataset.processed = "true"; const downloadButton = track.querySelector("a.button-icon.teaser-icons.primary.ojoo-icon-download"); console.log(downloadButton); downloadButton.removeAttribute("href"); downloadButton.addEventListener("click", () => { var event = new MouseEvent("mouseover", { "bubbles": true, "cancelable": true }); track.querySelector("span.ojoo-play").dispatchEvent(event); downloadTrack(track.querySelector("audio").src, track.querySelector("div.audio-description").innerHTML); }); }); // ================= // Download Function // ================= function downloadTrack(url, name) { console.log("Downloading: " + name + " (" + url + ")"); window.open(url); } } })();