【问题标题】:html2canvas code not working IE 11html2canvas 代码不工作 IE 11
【发布时间】:2016-05-07 14:55:09
【问题描述】:

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

我正在使用来自另一个 Stackoverflow 问题的这个 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',但我不知道如何从那里开始。

【问题讨论】:

标签: javascript internet-explorer internet-explorer-11 html2canvas


【解决方案1】:

appendChild 函数与您面临的问题无关。从 IE6+ 开始就支持 appendChild

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

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

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

【讨论】:

  • 谢谢罗曼!我使用了一个 polyfill,现在效果很好。我完全忘记了 Promise 功能。
  • 非常欢迎你 ktre7,很高兴我能帮上忙
  • 你最终使用了什么 polyfill?我有同样的问题,html2canvas 不能在 IE11 上运行。 canvas 未定义
  • @ktre7 你能提供你使用的polyfill吗?
  • @ktre7 你用了什么polyfill?谢谢
【解决方案2】:

添加这 2 个 JS - 如果丢失或损坏,它将自动提供/替换 Promise。

<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 的帖子和https://github.com/stefanpenner/es6-promise

【讨论】:

    猜你喜欢
    • 2015-09-23
    • 1970-01-01
    • 2015-07-15
    • 1970-01-01
    • 2012-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多