1.TXT类型文件

<!DOCTYPE html>
<html lang="en"> <head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head> <body>
<script>
function fake_click(obj) {
var ev = document.createEvent("MouseEvents");
ev.initMouseEvent(
"click", true, false, window, 0, 0, 0, 0, 0
, false, false, false, false, 0, null
);
obj.dispatchEvent(ev);
} function myExport(name, data) {
var urlObject = window.URL || window.webkitURL || window; // 有效的命名空间URI
// HTML - 参阅 http://www.w3.org/1999/xhtml
// SVG - 参阅 http://www.w3.org/2000/svg
// XBL - 参阅 http://www.mozilla.org/xbl
// XUL - 参阅 http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul var myFile = new Blob([data]);
var save_link = document.createElementNS("http://www.w3.org/1999/xhtml", "a");
save_link.href = urlObject.createObjectURL(myFile);
save_link.download = name;
fake_click(save_link);
} myExport('filename.xlsx', "helloworld!");
</script>
</body> </html>

2.表格保存弹出另存为框

 fake_click(obj) {
var ev = document.createEvent('MouseEvents')
ev.initMouseEvent(
'click',
true,
false,
window,
0,
0,
0,
0,
0,
false,
false,
false,
false,
0,
null
)
obj.dispatchEvent(ev)
},
// 测试代码-测试使用打开另存为窗口
myTestT() {
// Blob 格式 Excel 文件下载export
console.log('123456')
let url = 'http://10.10.10.22/aa/ddd/myExcel.xlsx'
axios
.get(url, {
responseType: 'blob',
params: {}
})
.then(res => {
// res.data 是一个 blob 流格式
var myFile = new Blob([res.data])
var save_link = document.createElementNS(
'http://www.w3.org/1999/xhtml',
'a'
)
var urlObject = window.URL || window.webkitURL || window
save_link.href = urlObject.createObjectURL(myFile)
// 要么就让用户手动加.xlsx,要么就没有另存为窗口
// save_link.download = 'myExcel.xlsx' // 如果这里不写.xlsx就可以打开另存为按钮
save_link.download = 'myExcel'
this.fake_click(save_link)
})
},
myExport(name, data) {
var urlObject = window.URL || window.webkitURL || window // 有效的命名空间URI
// HTML - 参阅 http://www.w3.org/1999/xhtml
// SVG - 参阅 http://www.w3.org/2000/svg
// XBL - 参阅 http://www.mozilla.org/xbl
// XUL - 参阅 http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul var myFile = new Blob([data])
var save_link = document.createElementNS(
'http://www.w3.org/1999/xhtml',
'a'
)
save_link.href = urlObject.createObjectURL(myFile)
save_link.download = name
this.fake_click(save_link)
},
// 测试代码-测试使用打开另存为窗口

下一个方法: 设置A标签,src直接对应一个可以下载的链接,以及download 可以用户右键另存为

最靠谱的方法: 使用a标签,添加download属性,然后让用户设置浏览器-高级-每次下载前询问另存为

chrome实现下载文件JS代码弹出'另存为'窗口的更多相关文章

  1. JS设置弹出小窗口。

    经常上网的朋友可能会到过这样一些网站,一进入首页立刻会弹出一个窗口,或者按一个连接或按钮弹出,通常在这个窗口里会显示一些注意事项.版权信息.警告.欢迎光顾之类的话或者作者想要特别提示的信息.其实制作这 ...

  2. asp.net下用js实现弹出子窗口选定值并返回

    对应上一篇博客代码: 父页面: <head runat="server"> <meta http-equiv="X-UA-Compatible" ...

  3. 【Java】数据库查询的数据直接以指定文件类型下载到本地(弹出下载框)

    欲实现的功能目标:当点击下图的导出数据文件时弹出文件下载框,默认csv格式,用户自定义下载的本地路径 遇到的问题: 1.项目之前做过一次下载,但是是使用了本地文件模板.用输入流读取文件模板,插入数据, ...

  4. JS弹出模态窗口下拉列表特效

    效果体验:http://hovertree.com/texiao/js/20/ 或者扫描二维码在手机体验: 点击选择城市后,在弹出的层中的输入框,输入英文字母 h,会有HoverTree和Hewenq ...

  5. [转]js来弹出窗口的详细说明

    1.警告对话框 <script> alert("警告文字") </script> 2.确认对话框 <script> confirm(" ...

  6. js插件---弹出层sweetalert2(总结)

    js插件---弹出层sweetalert2(总结) 一.总结 一句话总结: sweetalert2的效果非常好,效果比较Q萌,移动端适配也比较好,感觉比layer.js效果好点 1.SweetAler ...

  7. js自定义弹出框

    js自定义弹出框: 代码如下 <html> <head><title>自定义弹出对话框</title> <style type ="te ...

  8. JS 弹出模态窗口解决方案

    最近在项目中使用弹出模态窗口,功能要求: (1)模态窗口选择项目 (2)支持选择返回事件处理 在IE中有showModalDialog 方法,可以很好的解决该问题,但是在Chrome中和FF中就有问题 ...

  9. js实现第一次打开网页弹出指定窗口(常用功能封装很好用)

    js实现第一次打开网页弹出指定窗口(常用功能封装很好用) 一.总结 1.常用功能封装:之前封装的cookie的操作函数非常好用,我自己也可以这么搞 二.js实现第一次打开网页弹出指定窗口 练习1:第一 ...

随机推荐

  1. Day03.1:初学者安装IDEA后需要知道的小技巧

    初学者安装IDEA后需要知道的小技巧 1.输入psvm直接生成 main方法 2.输入sout可以直接生成输出语句 3.代码放大设置 4.注释颜色更改 5.代码字体大小通过Ctrl+鼠标滑轮控制的设置 ...

  2. 设计模式学习(二十四):Spring 中使用到的设计模式

    设计模式学习(二十四):Spring 中使用到的设计模式 作者:Grey 原文地址: 博客园:设计模式学习(二十四):Spring 中使用到的设计模式 CSDN:设计模式学习(二十四):Spring ...

  3. js/jq 点击按钮显示div,点击页面其他任何地方隐藏div

    1.HTML页面 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" ...

  4. php自定义分页类

    <?php class Paging { private $totalStrip; //总条数 private $pageStrip; //每页条数 private $totalPages; / ...

  5. 简单的sql注入1

    首先查看源码找找思路 发现源码里什么都没有 再使用bp拦截下数据 多次拦截后发现我们在 输入框里输入的等下就是id= 意思是我们这里就可以直接使用get注入了 好像类似于sql-labs上的?id= ...

  6. Karmada跨集群优雅故障迁移特性解析

    摘要:在 Karmada 最新版本 v1.3中,跨集群故障迁移特性支持优雅故障迁移,确保迁移过程足够平滑. 本文分享自华为云社区<Karmada跨集群优雅故障迁移特性解析>,作者:Karm ...

  7. 第2-4-3章 规则引擎Drools基础语法-业务规则管理系统-组件化-中台

    目录 4. Drools基础语法 4.1 规则文件构成 4.2 规则体语法结构 4.3 注释 4.4 Pattern模式匹配 4.5 比较操作符 4.5.1 语法 4.5.2 操作步骤 4.6 执行指 ...

  8. ArrayList中的ConcurrentModificationException,并发修改异常,fail-fast机制。

    一:什么时候出现? 当我们用迭代器循环list的时候,在其中用list的方法新增/删除元素,就会出现这个错误. package com.sinitek.aml; import java.util.Ar ...

  9. DRF认证流程及源码分析

    认证 前言 用户验证用户是否合法登陆. 部分内容在DRF视图的使用及源码流程分析讲解,建议先看讲解视图的这篇文章. 使用流程 认证使用的方法流程如下: 自定义认证类,继承BaseAuthenticat ...

  10. Oracle 两字符串相似度比较

    select SYS.UTL_MATCH.edit_distance_similarity('为中华之举起而读书','为中华') from dual;