您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Automatically download all songs played in jango.com while listening.
当前为
- // ==UserScript==
- // @name Automatic Jango Downloader
- // @author Finomosec
- // @namespace http://meinebasis.de/
- // @description Automatically download all songs played in jango.com while listening.
- // @version 1.3
- // @grant GM.xmlHttpRequest
- // @match https://www.jango.com/*
- // @license MIT
- // ==/UserScript==
- const storagePrefix = "D:";
- var originalAudio = window.Audio;
- unsafeWindow.Audio = exportFunction(function() {
- var audioElement = new originalAudio();
- audioElement.addEventListener('loadeddata', function() {
- var url = audioElement.src;
- if (url.indexOf(".jango.com/") == -1) {
- return;
- }
- var fileName = url.substring(url.lastIndexOf("/") + 1);
- var fileSuffix = url.substring(url.lastIndexOf("."));
- var niceFileName = unsafeWindow.document.title.replace(": ", " - ").replace(" - Jango", "").replace("&", "&") + fileSuffix;
- if (localStorage.getItem(storagePrefix + fileName)) {
- // console.info('Already downloaded:', niceFileName);
- return;
- }
- // console.info('Downloading:', niceFileName);
- GM.xmlHttpRequest({
- method: "GET",
- url: url,
- responseType: 'arraybuffer',
- onload: function(response) {
- var blob = new Blob([response.response], {type: "audio/" + fileSuffix.substring(1)});
- var url = URL.createObjectURL(blob);
- var link = document.createElement('a');
- link.href = url;
- link.download = niceFileName;
- link.click();
- localStorage.setItem(storagePrefix + fileName, "1");
- }
- });
- });
- return audioElement;
- }, unsafeWindow);