GM_DL

GM_download but it actually works

Dieses Skript sollte nicht direkt installiert werden. Es handelt sich hier um eine Bibliothek für andere Skripte, welche über folgenden Befehl in den Metadaten eines Skriptes eingebunden wird // @require https://update.greasyforks.org/scripts/523457/1519388/GM_DL.js

// ==UserScript==
// @name        GM_DL
// @namespace   Violentmonkey Scripts
// @grant       GM.xmlHttpRequest
// @version     1.3
// @author      https://greasyforks.org/en/users/1409235-paywalldespiser
// @description GM_download but it actually works
// @license     MIT
// @require     https://cdn.jsdelivr.net/npm/[email protected]/dist/FileSaver.min.js
// ==/UserScript==

/**
 * Arguments for GM_DL
 *
 * @typedef {object} GM_DL_ARGS
 * @property {string | URL} url
 * @property {string} filename
 * @property {("GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "HEAD" | "TRACE" | "OPTIONS" | "CONNECT")} [method='GET']
 * @property {("follow" | "error" | "manual")} [redirect='follow']
 * @property {string | undefined} data
 * @property {{ [key: string]: string; } | undefined} headers
 */
/**
 * GM_download but it actually works
 *
 * @param {GM_DL_ARGS}
 * @returns {Promise<void>}
 */
function GM_DL({
    url,
    filename,
    method = 'GET',
    redirect = 'follow',
    data,
    headers,
}) {
    return GM.xmlHttpRequest({
        url,
        method,
        responseType: 'blob',
        redirect,
        data,
        headers,
    }).then(({ response }) => saveAs(response, filename));
}
长期地址
遇到问题?请前往 GitHub 提 Issues。