width: width, //dom 原始宽度 height: height, windowHeight:height, y:height, scrollY:scrollHeight, useCORS: true, // 【重要】开启跨域配置 backgroundColor:'#ffffff', }; return await html2canvas(dom, opts).then(function () { $('.J_share_text_box').css({'padding':'0 0'}) convertCanvasToImage(canvas, x ,y, selector) }) } /** * 图片转base64格式 */ function convertCanvasToImage(canvas, x, y, selector) { let image = new Image(); var src = canvas.toDataURL("image/png"); // image.width = x; // image.height = y; image.src = src; $(selector).html(image) layer.closeAll('loading'); // var link = document.createElement('a'); // link.href = src; // link.download = 'test.png'; // link.click(); // downloadFileByBase64(src) // _ajax_post('/news/upload_share_pic',{pic:src},function(_data){ // window.location.href = '/news/down_pic?file_url='+_data.data // }) return image; } function dataURLtoBlob(dataurl) { 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 Blob([u8arr], { type: mime }); } function downloadFile(url,name='What\'s the fuvk'){ var a = document.createElement("a") a.setAttribute("href",url) a.setAttribute("download",name) a.setAttribute("target","_blank") let clickEvent = document.createEvent("MouseEvents"); clickEvent.initEvent("click", true, true); a.dispatchEvent(clickEvent); } function downloadFileByBase64(base64,name){ var myBlob = dataURLtoBlob(base64) var myUrl = URL.createObjectURL(myBlob) downloadFile(myUrl,name) }