html2canvas截图不完整

发布于 2022-09-11 16:27:56 字数 722 浏览 20 评论 0

问题描述

最近需要做一个分享功能,原生app嵌入h5页面,截取当前页面作为分享封面。
使用到了html2canvas,在电脑模拟器截图没有问题,在真机上只能截取一部分

相关图片

  • 原页面

图片描述

  • 使用pc模拟器

图片描述

  • 真机

图片描述

问题出现的环境背景及自己尝试过哪些方法

在网上搜了半天,可能是布局使用定位的原因,但即使不用定位,也是不完整

相关代码

const dom = this.$refs.container
html2canvas(dom, {
  useCORS: true,
  foreignObjectRendering: true
}).then(canvas => {
  const base64 = canvas.toDataURL('image/jpeg')
  // upload base64 ... return url
})

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

苹果你个爱泡泡 2022-09-18 16:27:56

尝试截取放到 onload里边执行,确认所截图片加载完毕

img.onload= function(){

}

朮生 2022-09-18 16:27:56

你好,请问问题解决了吗?我也遇到类型的问题了,pc上没问题,到了手机就截不全

我最亲爱的 2022-09-18 16:27:56

我也遇到了类似问题。 在某些低版本手机上,图片以路径形式存在时,可以转换成功。可是图片以base64形式存在时,转换后图片就没了。
你看看你的这个地方,有些图片显示出来了,有些却没有。 应该是webpack自动将小图片转换成了base64,所以没显示出来。你可以在webpack中进行相关配置

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文