Greasy Fork

Jinxin Util Download

文件下载工具类

目前为 2023-02-24 提交的版本。查看 最新版本

此脚本不应直接安装,它是一个供其他脚本使用的外部库。如果您需要使用该库,请在脚本元属性加入:// @require https://update.greasyfork.cloud/scripts/460643/1153641/Jinxin%20Util%20Download.js

// ==UserScript==
// @name         Jinxin Util Download
// @namespace    https://gitee.com/jinxin11112/tampermonkey
// @version      0.1.0
// @description  文件下载工具类
// @author       jinxin
// @icon         <$ICON$>
// @grant        none
// @license MIT
// ==/UserScript==

(function() {
    'use strict';

    function downloadFile(fileContent, title) {
        const blob = new Blob(fileContent, {type: "text/plain;charset=utf-8"});
        // 创建新的URL并指向File对象或者Blob对象的地址
        const blobURL = window.URL.createObjectURL(blob)
        // 创建a标签,用于跳转至下载链接
        const tempLink = document.createElement('a')
        tempLink.style.display = 'none'
        tempLink.href = blobURL
        if (!title) title = Date.now();
        tempLink.download = decodeURI(title + '.txt')
        // 兼容:某些浏览器不支持HTML5的download属性
        if (typeof tempLink.download === 'undefined') {
            tempLink.setAttribute('target', '_blank')
        }
        // 挂载a标签
        document.body.appendChild(tempLink)
        tempLink.click()
        document.body.removeChild(tempLink)
        // 释放blob URL地址
        window.URL.revokeObjectURL(blobURL)
    }
})();