87,910
社区成员
发帖
与我相关
我的任务
分享
let a = document.createElement("a"); // 生成一个a元素
let event = new MouseEvent("click"); // 创建一个单击事件
a.download = '图片名字' || "photo"; // 设置图片名称
a.style.display='none';
a.href = '图片路径';
a.dispatchEvent(event); // 触发a的单击事件
这种方式是可以的啊。你试试
var triggerEvent = "touchstart"; //指定下载方式
function saveAs(Url){
var blob=new Blob([''], {type:'application/octet-stream'});
var url = URL.createObjectURL(blob);
var a = document.createElement('a');
a.href = Url;
a.download = Url.replace(/(.*\/)*([^.]+.*)/ig,"$2").split("?")[0];
var e = document.createEvent('MouseEvents');
e.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
a.dispatchEvent(e);
URL.revokeObjectURL(url);
}
var imgs = document.getElementsByTagName("img");
for(var i = 0,o;o = imgs[i];i++){
o.addEventListener(triggerEvent,function(){
var url = this.getAttribute("src");
saveAs(url);
},false);
}