Download from Nexusmods.com without wait and redirect (support Manual/Vortex)
As of
// ==UserScript==
// @name Nexus No Wait
// @description Download from Nexusmods.com without wait and redirect (support Manual/Vortex)
// @namespace NexusNoWait
// @include https://www.nexusmods.com/*/mods/*
// @run-at document-idle
// @version 1.3
// @require http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js
// ==/UserScript==
$(document).on('click', '.btn', function(event) {
var href = $(this).attr('href');
if (~href.indexOf("file_id")) {
event.preventDefault();
var button = $(this);
button.css("color", "yellow");
button.text('WAIT');
var game_id = document.getElementById("section").dataset.gameId;
var search_params = new URLSearchParams(href);
var file_id = search_params.get("file_id");
if (!~href.indexOf("nmm")) {
$.ajax({
type: "POST",
url: "/Core/Libs/Common/Managers/Downloads?GenerateDownloadUrl",
data: {
fid: file_id,
game_id: game_id,
},
success: function(data) {
if (data && data.url) {
console.log('Success');
window.location.href = data.url;
btnSuccess(button);
} else {
btnError(button);
}
},
error: function() {
btnError(button);
}
});
} else {
$.ajax({
type: "GET",
url: href,
success: function(data) {
var slow = $(data).find('#slowDownloadButton');
var downloadUrl = slow.data('download-url');
document.location.href = downloadUrl;
btnSuccess(button);
},
error: function(ajaxContext) {
console.log(ajaxContext.responseText);
btnError(button);
}
});
}
}
var popup = $(this).parent();
if (popup.hasClass('popup')) {
popup.children("button").click();
}
});
function btnError(button) {
button.css("color", "red");
button.text('ERROR');
}
function btnSuccess(button) {
button.css("color", "green");
button.text('LOADING');
}