1、javascript脚本

function downloadFile(data, fileName, type="text/plain") {
// 创建不可见的元素
const a = document.createElement("a");
a.style.display = "none";
document.body.appendChild(a);
// 将href设置为要下载数据的blob表示形式
a.href = window.URL.createObjectURL(
new Blob([data], { type })
);
// 使用下载属性设置所需的文件名
a.setAttribute("download", fileName);
// 通过模拟点击触发下载
a.click();
// 清理
window.URL.revokeObjectURL(a.href);
document.body.removeChild(a);
}

2、html元素

<form onsubmit="onFormSubmit(); return false;">
<p>
<label for="demo_filename">文件名称:</label><br>
<input type="text" id="demo_filename">
</p>
<p>
<label for="demo_content">内容:</label><br>
<textarea id="demo_content"></textarea>
</p>
<button type="submit">下载</button>
</form>

3、运行效果

是不是很简单,这样做的函数非常小,并且依赖于URL.createObjectUrl,函数注入<a>元素,将其设置为Blob值设置为目标文件的文本内容,并单击下载按钮以触发下载。元素在过程中保持隐藏状态,并在click()调用,一旦函数被调用,浏览器的下载提示就会显示出来,createObjectURL和Blob这两种技术才是真正的魔力!

如何用JavaScript纯前端来实现下载脚本的更多相关文章

  1. 从 .NET 到 JavaScript —— 纯前端报表控件 ActiveReportsJS 焕新登场

    报表工具的发展史,最早可以追溯到微软报表SSRS(SQL Server Reporting Services)时期.最初,报表工具主要应用于报表的定制.呈现和输出.经过几十年的发展,随着各种业务系统功 ...

  2. 使用javascript纯前端导出excel

    前言(感谢技术的分享者) 参考博客地址 github地址 由SheetJS出品的js-xlsx是一款非常方便的只需要纯JS即可读取和导出excel的工具库,功能强大,支持格式众多,支持xls.xlsx ...

  3. 如何用JavaScript判断前端应用运行环境(移动平台还是桌面环境)

    我们部署在某些云平台或者Web服务器上的前端应用,既可以用PC端浏览器访问,也可以用手机上的浏览器访问. 在前端应用里,有时候我们需要根据运行环境的不同做出对应处理.比如下面这段逻辑,如果判断出应用当 ...

  4. 纯前端下载pdf链接文件,而不是打开预览的解决方案

    纯前端下载pdf链接文件,而不是打开预览的解决方案 一,介绍与需求 1.1,介绍 XMLHttpRequest 用于在后台与服务器交换数据.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行 ...

  5. JST(JavaScript Trimpath)前端模板引擎简介

    JST(JavaScript Trimpath)前端模板引擎简介及应用 今天在做某系统日志列表的时候用到了这个玩意儿.刚开始只是根据别人的例子照葫芦画瓢完成了日志列表及对应详情,晚上有空了才仔细去网上 ...

  6. Web纯前端“旭日图”实现元素周期表

    一.什么是旭日图 旭日图是在Excel 2016中新增的一种图表.有些类似饼图,饼图的优势是可以显示占比.但是饼图只能显示单级数据.旭日图用来表示多层级数据的占比.旭日图以一种分层方式显示,非常适合用 ...

  7. Vue 2.x + Webpack 3.x + Nodejs 多页面项目框架(上篇——纯前端多页面)

    Vue 2.x + Webpack 3.x + Nodejs 多页面项目框架(上篇--纯前端多页面) @(HTML/JS) 一般来说,使用vue做成单页应用比较好,但特殊情况下,需要使用多页面也有另外 ...

  8. vue后台_纯前端实现excel导出/csv导出

    之前的文件下载功能一般是由前后端配合实现,由于项目需要,纯前端实现了一把excel的导出功能: 一.excel导出 1.安装依赖库 xlsx:这是一个功能强大的excel处理库,但是上手难度也很大,还 ...

  9. 如何使用JavaScript实现前端导入和导出excel文件

    一.SpreadJS 简介 SpreadJS 是一款基于 HTML5 的纯 JavaScript 电子表格和网格功能控件,以“高速低耗.纯前端.零依赖”为产品特色,可嵌入任何操作系统,同时满足 .NE ...

  10. 基于纯前端类Excel表格控件实现在线损益表应用

    财务报表也称对外会计报表,是会计主体对外提供的反映企业或预算单位一定时期资金.利润状况的会计报表,由资产负债表.损益表.现金流量表或财务状况变动表.附表和附注构成.财务报表是财务报告的主要部分,不包括 ...

随机推荐

  1. min-max 容斥(最值反演)学习笔记

    min-max 容斥,又名最值反演(我其实更喜欢后面这个名字),是一种常用的反演思想. 引入 在皇后游戏一题中,我们曾经证明过 \(\max(a,b)-a-b=-\min(a,b)\). 我们尝试推广 ...

  2. ssh远程连接linux服务器

    Linux,ssh远程连接 一. linux端配置 1.安装ssh服务 sudo apt-get update sudo apt-get install openssh-client sudo apt ...

  3. Flink - [08] 状态一致性

    题记部分 一.什么是状态一致性   有状态的流处理,内部每个算子任务都可以有自己的状态.对于流处理器内部来说,所谓的状态一致性,其实就是我们所说的计算结果要保证准确.一条数据也不应该丢失,也不应该重复 ...

  4. Scala List集合 List 有序不唯一,元素可重复

    package com.wyh.day01 import scala.collection.mutable.ListBuffer /** * List 有序不唯一,元素可重复 */ object Sc ...

  5. JUC并发—14.Future模式和异步编程分析

    大纲 1.FutureTask(Future/Callable)的使用例子 2.FutureTask(Future/Callable)的实现原理 3.FutureTask(Future/Callabl ...

  6. Windows 提权-SeBackupPrivilege 特权

    本文通过 Google 翻译 Sebackupprivilege – Windows Privilege Escalation 这篇文章所产生,本人仅是对机器翻译中部分表达别扭的字词进行了校正及个别注 ...

  7. Redis集群(cluster模式)搭建(三主三从)

    上一篇搭建了一主二从,并加入了哨兵,任何一个节点挂掉都不影响正常使用,实现了高可用.仍然存在一个问题,一主二从每个节点都存储着全部数据,随着业务庞大,数据量会超过节点容量,即便是redis可以配置清理 ...

  8. 最简单的方式:如何在wsl2上配置CDUA开发环境

    step0:序言 这篇文章可以帮助你以一个最为简单的方式迈出CUDA的第一步,从此一入CUDA深似海,从此头发是路人. 前提:你需要在Windows 11上: 电脑中有nvidia显卡以及驱动,由于w ...

  9. Ollama+DeepSeek+SlackBot

    技术背景 想必最近有在部署DeepSeek大模型的人,看标题就知道这篇文章在做什么事情了.由于Ollama对于IP的监听缺乏安全防护,并且内网部署的Ollama模型对于外网来说也是不可见的,而如果使用 ...

  10. Web前端入门第4问:HTML、CSS、JavaScript 的作用分别是什么?

    HTML.CSS.JavaScript 的核心作用 HTML:网页的骨架 功能:定义页面的内容结构(如按钮.表格.图片). 示例:<button>提交</button> 创建一 ...