依赖: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); }); }