<p>当html包含canvas元素时,html2canvas不起作用</p>

创建于 2017-12-13  ·  29评论  ·  资料来源: niklasvh/html2canvas

错误报告:

我在反应项目中使用html2canvas。 我发现当html包含canvas元素时html2canvas不起作用。 画布区域将显示为空。

规格:

这是HTML图片
image

这是转换为画布图片

image

在画布区域中,我使用“ echarts-for-react”绘制雷达图。但是,当我单击“生成图片”按钮时,下载的图片不完整

  • html2canvas版本经过测试:1.0.0-alpha.4
  • 浏览器和版本:Chrome 60.0.3112.7
  • 作业系统:Windows

最有用的评论

我尝试添加removeContainer:false,但是在移动Chrome上仍然存在该问题

所有29条评论

我也有同样的问题。

您可以在jsfiddle上分享一个示例吗?

同样的问题。 我在页面上有chartjs图形,它们不再呈现。 用于在以前的版本中渲染

我制造了一个小提琴来显示问题
https://jsfiddle.net/outerbound/v7p71wzr/

这不适用于chrome :(,我可以在safari中确认它是否有效:)

问题是在渲染之前删除容器表单DOM

我也有同样的问题。 标记...

也许html2canvas不能与gridstack.js一起

将Chart.js与vue(vue-chart.js)一起使用时遇到了同样的问题,并且仅在Chrome中发生

我有同样的问题,html2canvas不能与gridstack.js一起使用,当我将html2canvans与gridstack一起使用时,所有元素都堆叠在顶部。
image

@ Nemo0915我用gridstack.js构建了一个jsfiddle ,但是效果很好。所以也许这不是gridstack.js的问题,但是我不太确定。

同样的问题,Firefox可以,但Chorme无法正常工作

@bigfacewo感谢您的回复,这是jsfiddle的屏幕截图,该按钮也已堆叠在顶部,无论在FF还是Chrome中,结果都是相同的。
image

@ Nemo0915我发现0.5.0- beta4版本正常工作,
qq 20171220150328
1.0.0-alpha4版本jsfiddle不能在chrome上运行,但是我没有发现元素堆叠在顶部的问题。 这是Firefox上的屏幕截图:
qq 20171220150946

Chrome版本:63.0.3239.108
Firefox版本:57.0.2

您可以添加选项:removeContainer:false暂时修复此问题...。

谢谢@IxAres ,它解决了我的问题。

我尝试添加removeContainer:false,但是在移动Chrome上仍然存在该问题

@niklasvh,它根本不起作用。 我正在使用此应用程序的1.0.0-rc.5版本。
Screenshot 2020-02-17 at 10 54 42 AM

嘿,什么解决方案?

2020问题仍然存在。

+1我也看到了这种行为。

问题仍然存在

Chart.js和Firefox 76.0(64位)浏览器仍然存在问题

嘿,我在元素内的Mapbox遇到了同样的问题,请在这里提供帮助。
我也尝试过removeContainer:false,但是对我不起作用。

@Rajeshgtstpl我的preserveDrawingBuffer: true解决了它。

我没有使用Chart.js,但是在使用drawImage的画布上也遇到了同样的问题。 通过将image.crossOrigin ='anonymous'放在图像元素上,然后再将其传递给drawImage来解决此问题,如下所示:

image.crossOrigin = 'anonymous'

希望它可以帮助某人:)

嗨,大家好,我遇到类似的画布导出问题,但是在Threejs场景中,有什么建议吗? 我曾尝试使用v1.0.0-rc.7,但它导出了Threejs画布以外的所有内容。

编辑:我试图像这样添加在threejs画布中:

image

但是出现了这个错误:

image

@AchoArnold preserveDrawingBuffer: true为我为Mapbox工作,谢谢。

问题:您是否注意到性能影响?

我没有使用Chart.js,但是在使用drawImage的画布上也遇到了同样的问题。 通过将image.crossOrigin ='anonymous'放在图像元素上,然后再将其传递给drawImage来解决此问题,如下所示:

image.crossOrigin = 'anonymous'

希望它可以帮助某人:)

它救了我一命

此页面是否有帮助?
0 / 5 - 0 等级