码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2016-10-27 13:18:57      阅读:685      评论:0      收藏:0      [点我收藏+]

标签:name   方案   rom   添加   href   set   脚本   cli   div   

一个经典的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中,让用户手动点击超链接下载。

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

标签:name   方案   rom   添加   href   set   脚本   cli   div   

原文地址:http://www.cnblogs.com/ljzc002/p/6003214.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!