var fileName = 'Post-ITIE.jpg';
if ('msToBlob' in canvas) { // IE10+
var blob = canvas.msToBlob();
navigator.msSaveBlob(blob, fileName);
} else {
var a = document.createElement('a');
a.setAttribute('href', canvas.toDataURL());
a.setAttribute('target', '_blank');
a.setAttribute('download', fileName);
a.style.display = 'none';
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
}
它与最初提供的代码有几件不同的事情:
- 它检查是否
msToBlob
存在支持在 Internet Explorer 中下载文件的方法。
- 它将 a 添加
target=blank
到链接元素。即使浏览器不支持该download
属性,这也可以确保显示图像。
- 它将链接添加到文档,以便
.click()
在 Firefox 中实际工作,然后将其删除。