依赖:html2canvas
function dataURLtoFile(dataurl, filename) {
var arr = dataurl.split(','),
mime = arr[0].match(/:(.*?);/)[1],
bstr = atob(arr[1]),
n = bstr.length,
u8arr = new Uint8Array(n);
while(n--){
u8arr[n] = bstr.charCodeAt(n);
}
return new File([u8arr], filename, {type:mime});
}
//Usage example:
function takeScreenshot() {
html2canvas(document.body,{
allowTaint: true,
foreignObjectRendering: true
}).then(function(canvas) {
//document.body.appendChild(canvas);
var dataurl=canvas.toDataURL();
var file = dataURLtoFile(dataurl,'cap.png');
//var url = window.URL.createObjectURL(file);
var a = document.createElement('a');
var url = window.URL.createObjectURL(file);
var filename = 'cap.png';
a.href = url;
a.download = filename;
a.click();
window.URL.revokeObjectURL(url);
console.log(url);
});
}
这个博客介绍了一个JavaScript函数,它结合html2canvas库将网页内容转化为canvas,然后将canvas转换为数据URL,并进一步保存为PNG文件。通过创建一个新的File对象,设置合适的类型和名称,最后触发下载链接实现文件下载。该方法适用于前端页面的截图保存功能。
761

被折叠的 条评论
为什么被折叠?



