因为 html2canvas 和 html2canvas.svg 作为 UMD 捆绑在一起,所以 window.html2canvas 在使用模块加载器的应用程序中将是未定义的。
结果你得到一个
“无法获取未定义或空引用的属性‘svg’”
IE 中的错误,每当它尝试使用结构。
AMD 解决方法:
require(["html2canvas", "html2canvas.svg"], function(html2canvas, svg) {
window.html2canvas = {
svg: svg
};
如果你使用 babel/es6:
import html2canvas from 'html2canvas';
window.html2canvas = {
svg: html2canvas.svg
};
试图这样做,我得到一个空白图像..知道是什么原因造成的吗?
我使用的是 0.5.0-beta4 版本。 并做:
html2canvas(captureTarget, {
allowTaint: true
}).then(canvas => {
let imagex64 = canvas.toDataURL(); });
当我显示该图像时为空白。
我在 MSIE 11.1 中遇到了同样的问题,但在 Chrome 中没有发生。
Nearwood 解决方法的一个变体可以阻止错误,但 SVG 无法正确呈现:
import * as html2canvas from 'html2canvas';
(window as any).html2canvas = {
svg: html2canvas.svg
};
@niklasvh ,你为什么关闭这个? 认为是固定的吗? 我没有看到任何引用此问题的提交:您是否有指向 Chrome 中修复此问题的链接,所以我可以看看为什么它在 MSIE 中仍然损坏?
最有用的评论
结果你得到一个
IE 中的错误,每当它尝试使用结构。
AMD 解决方法: