html2canvas.js插件截图空白问题
2021-02-15 17:22
标签:模糊 height dialog scrolltop cli 标签 class 弹窗 element 发现使用 js代码: html2canvas.js插件截图空白问题 标签:模糊 height dialog scrolltop cli 标签 class 弹窗 element 原文地址:https://www.cnblogs.com/gynbk/p/12983217.htmlhtml2canvas.js插件截图保存在前端很方便。学习过程中预计问题。
截图出现空白和截图不全。
问题原因:html2canvas.js插件截图是基于body标签的,如果body存在滚动条就会出现截图空白的情况。如何避免:
关键点:在截图前将滚动条位置设置在顶部。截图时,截图选择内容标签不是body,就将截图宽度和高度设置为选择标签的宽高在截图。
具体代码:
$("#down").click(function(){
// 截图前先讲滚动条置顶
$(‘html,body‘).animate({‘scrollTop‘:0});
// document.getElementById("contbox") 需要截图的是div标签
html2canvas(document.getElementById("contbox"),
{logging:false,
width:$("#contbox").width(),// 宽设置为div标签的宽
height:$("#contbox").height(),// 高设置为div标签的高
useCORS:true}).then(function(canvas) {
//将canvas画布放大若干倍,然后盛放在较小的容器内,就显得不模糊了
var timestamp = Date.parse(new Date());
//把截取到的图片替换到a标签的路径下载
$("#down1").attr(‘href‘,canvas.toDataURL("image/png"));
console.log(canvas.toDataURL("image/png"));
//下载下来的图片名字
$("#down1").attr(‘download‘,timestamp + ‘.png‘) ;
$("#down1")[0].click();
//document.body.appendChild(canvas);
});
});
文章标题:html2canvas.js插件截图空白问题
文章链接:http://soscw.com/index.php/essay/55753.html