首页 > 代码库 > Chrome浏览器M53更新后超链接的dispatchEvent(evt)方法无法触发文件下载
Chrome浏览器M53更新后超链接的dispatchEvent(evt)方法无法触发文件下载
一个经典的js前台文件下载方法:
1 var aLink = document.createElement(‘a‘); 2 var datatype="data:text/plain;charset=UTF-8,"; 3 aLink.href = http://www.mamicode.com/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)方法无法触发文件下载
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。