html2canvas 代码不工作 IE 11

html2canvas code not working IE 11

我希望使用 html2canvas 库制作一个 div 的图像并将其放入另一个。到目前为止,它在 Safari、Chrome 和 Firefox 中运行良好,但在 IE 中运行良好(11 是我现在唯一关心的版本)。

我正在使用来自另一个 Whosebug 问题的 jsfiddle 中的代码来应用它:

var aaaDiv=document.getElementById('aaa');
var ttDiv=document.getElementById('tt');

html2canvas(aaaDiv).then(function(canvas) {
// assign id:avatarCanvas to canvas 
canvas.id='avatarCanvas';
// append canvas to ttDiv
ttDiv.appendChild(canvas);

});

https://jsfiddle.net/m1erickson/wtchz972/

我听说 IE 不喜欢 'appendChild',但我不确定如何从那里着手。

appendChild 函数与您遇到的问题无关。从IE6+

开始就支持appendChild

通过查看 html2canvas 代码,该库恰好使用了 Promises feature,不幸的是,任何版本的 IE

都不支持它

http://caniuse.com/#search=promises

(虽然它在 Microsoft Edge 中受支持)

添加这 2 个 JS - 如果丢失或损坏,它会自动 provides/replacesPromise。

<script src="https://cdn.jsdelivr.net/npm/es6-promise@4/dist/es6-promise.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/es6-promise@4/dist/es6-promise.auto.min.js"></script> 

来源:Arthez 对 Roman Canlas 的评论 post & https://github.com/stefanpenner/es6-promise