Chrome浏览器M53更新后超链接的dispatchEvent(evt)方法无法触发文件下载

一个经典的js前台文件下载方法:

1 var aLink = document.createElement('a');
2 var datatype="data:text/plain;charset=UTF-8,";
3 aLink.href = datatype+content;
4 aLink.download = filename;
5 var evt = document.createEvent("HTMLEvents");//建立一个事件
6 evt.initEvent("click", false, false);//这是一个单击事件
7 aLink.dispatchEvent(evt);

谷歌认为:“点击超链接下载文件”是一个“默认响应”,而默认响应不应由脚本触发,所以从M53版本开始禁止所有由脚本触发的默认响应,上述下载方法失效。

临时解决方案:把aLink添加到DOM中,让用户手动点击超链接下载。

转载于:https://www.cnblogs.com/ljzc002/p/6003214.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值