zoukankan      html  css  js  c++  java
  • 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中,让用户手动点击超链接下载。

  • 相关阅读:
    SQL Server创建索引的技巧分析
    SQL Server创建索引
    kmp算法的应用
    相交环的面积
    Rebranding
    Olympiad
    找新朋友
    卡特兰数
    越狱
    Wolf and Rabbit
  • 原文地址:https://www.cnblogs.com/ljzc002/p/6003214.html
Copyright © 2011-2022 走看看