用js 触发 浏览器的下载功能下载文件

本文介绍了如何在JavaScript中触发浏览器的下载功能,特别是在页面内动态获取下载URL时。推荐在处理大型文件时使用FileSaver.js库。针对新开标签页下载和HTML5浏览器中的无闪动下载提供了代码示例,并引用了StackOverflow上的相关讨论。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大型文件请考虑使用 filesaver.js

https://github.com/eligrey/FileSaver.js/

==============================================

 

 

主要解决页面内部动态获取下载文件url后,自动下载的问题。

 

新开一个标签页下载: window.open('url', '_blank');

这会导致屏幕新开标签页时的闪动,但浏览器兼容性好。

 

html5浏览器中, 可在本标签页中无闪动开启下载:

 

$('<a href="path_to_file" download="proposed_file_name">Download</a>')[0].click();
 
  • path_to_file is either an absolute or relative path,
  • proposed_file_name the filename to save to (can be blank, then defaults to the actual filename).

没有jquery时:

 

var a = document.createElement('a');
a.href = "path_to_file";
a.download = "proposed_file_name";
a.click();

 

 

 

 

 

 

参考文献:

http://stackoverflow.com/questions/11620698/how-to-trigger-a-file-download-when-clicking-an-html-button-or-javascript


http://stackoverflow.com/questions/5811122/how-to-trigger-a-click-on-a-link-using-jquery

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值