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都不是下载的动作,而是直接打开了一个新页面,显示图片。因此如果产品要求严格的话还需要重新设计方案。