ROBLOX Soundloader

Download songs from ROBLOX!

当前为 2015-06-06 提交的版本,查看 最新版本

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         ROBLOX Soundloader
// @namespace    RBLXSNDLDR
// @version      1.0
// @description  Download songs from ROBLOX!
// @author       SFOH
// @match        http://www.roblox.com/*
// @grant        none
// ==/UserScript==

function downloadURI(uri,name) { //allows user to download the asset
    var link = document.createElement("a");
    link.download = name;
    link.href = uri;
    link.click();
}

function createDownloadBtn(pElement,type,uri){ //where pElement is the frame to add the button to
    if(type==="audio"){
        var b = document.createElement("input");
        console.log(pElement);
        b.setAttribute("class","downloadButton");
        b.setAttribute("type","image");
        b.setAttribute("style","background:url(http://vavvi.com/images/2015/06/ncrr1l5xcu0qbyvwwzye.png) 0px 0px;border:0;margin:0;padding:0;cursor:pointer;color:transparent;position:relative;background-repeat:no-repeat;width:25px;height:25px;left:-25px;top:-25px;z-index:9");
        b.onclick=function(){
            alert("Warning! If the file doesn't play - it may be an .ogg! Try renaming it if it doesn't work.")
            downloadURI(uri,"");
        }
        b.onmouseenter=function(){
            b.setAttribute("style","background:url(http://vavvi.com/images/2015/06/ncrr1l5xcu0qbyvwwzye.png) -25px 0px;border:0;margin:0;padding:0;cursor:pointer;color:transparent;position:relative;background-repeat:no-repeat;width:25px;height:25px;left:-25px;top:-25px;z-index:9")
        }
        b.onmouseleave=function(){
            b.setAttribute("style","background:url(http://vavvi.com/images/2015/06/ncrr1l5xcu0qbyvwwzye.png) 0px 0px;border:0;margin:0;padding:0;cursor:pointer;color:transparent;position:relative;background-repeat:no-repeat;width:25px;height:25px;left:-25px;top:-25px;z-index:9")
        }
        pElement.appendChild(b);
    }
}

function assetPuller(){
    if(this.document.title.indexOf("by")){ //if the url specifies an asset
        if(this.document.title.indexOf("Audio") != -1){ //if the asset is a sound then
            var objects = document.getElementsByClassName("MediaPlayerIcon Play");
            for	(var i = 0;i < objects.length;i++){
                var playbutton = objects[i];
                var parent = playbutton.parentElement;
                var asseturi = playbutton.getAttribute("data-mediathumb-url");
                createDownloadBtn(parent,"audio",asseturi);
            }
        }
    }
}

assetPuller()