防止a标签下载弹窗

来源:互联网 发布:气象数据知识试题 编辑:程序博客网 时间:2024/05/22 05:30

1.背景:

最近做项目的时候,遇到了点击下载图片的需求,做法是,动态生成一个a标签,href属性设置为图片链接,download属性设置为文件名。然后调click()函数模拟点击行为。继而实现图片的下载。但是在chrome里,下载成功后,浏览器会alert一个弹框,提示你下载成功,这是交互设计体验之外的,需要避免。


2.解决:

        var alert = window.alert;        window.alert = function () {            window.alert = alert;        };

将window.alert重置,下一次调用后即可恢复为原来的alert,通过这种方法避免了弹框。


3.备注:

这种a标签下载方案在好多浏览器,如IE、FF都不是下载的动作,而是直接打开了一个新页面,显示图片。因此如果产品要求严格的话还需要重新设计方案。