【解决】html2canvas截图不全的问题
微wx笑
2022-06-07【运维日志】
188
2
0关键字:
html2canvas
在公司开发中,遇到测试反馈的问题,在用户签约生成图片转发的时候,图片样式戳,截图不全
在公司开发中,遇到测试反馈的问题,在用户签约生成图片转发的时候,图片样式戳,截图不全
于是采用解决方案2,修复了此问题。
第一种原因:
在点击保存图片时,此时要保存的资源较多,造成模块并没有完全加载完毕,就已经生成了截图。
解决方案:(延迟)
1 2 3 4 5 6 7 8 | setTimeout(() => { html2canvas( document.getElementById('contract-container'), { scale: 1 } ).then( canvas => { var contractData = canvas.toDataURL("image/jpeg"); }); }, 500); |
第二种原因:
滚轮滑动造成的,主要是html2canvas是根据body进行截图,若内容高度高于body时,就会出现这样的问题
解决方案:(在生成截图前,先把滚动条置顶)
1 2 3 4 5 6 7 8 9 | window.pageYoffset = 0; document.documentElement.scrollTop = 0; document.body.scrollTop = 0; html2canvas( document.getElementById('contract-container'), { scale: 1 } ).then( canvas => { var contractData = canvas.toDataURL("image/jpeg"); }); |
作者:素时年锦
链接:https://www.jianshu.com/p/96a7ee1341be
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
本文为转载文章,版权归原作者所有,不代表本站立场和观点。