当知道页面img元素的src时,下载这张图片可以通过a标签进行下载。
var a=document.createElement('a');
a.download="test.png";
a.href=url;
a.click();
其中url就是img元素的src的值;
当页面中是多个img,div元素拼接,覆盖成一张图片时,就很难再通过一个url进行下载了。后面发现有个html2canvas.js这个插件,可以直接拼接dom元素,然后将当前页面渲染成一个canvas图片
html2canvas($("#pic")[0]).then(function(canvas) {
var imgURL = canvas.toDataURL("image/png").replace("image/png", "image/octet-stream");
});
其中pic节点就是你想渲染成一个canvas图片的页面,canvas图片的url就是imgURL,知道了图片的url,只要将imgURL的值赋值给a.href,就能通过a.click()进行下载了
备注,html2canvas(element).then() 中 html2canvas接收的是 一个 js dom 元素而不是 一个 jQuery dom对象,所以不是$("#pic"),而是$("#pic")[0]