Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

html2canvas code not working IE 11

I am hoping to use the html2canvas library to make a image of one div and put it in another. So far I have it working wonderfully in Safari, Chrome, and Firefox but not IE (11 is the only version I care about right now).

I am applying it using the code from this jsfiddle from another Stackoverflow question:

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/

I heard IE doesn't like to 'appendChild', but I am not sure how to proceed from there.

like image 503
ktre7 Avatar asked Feb 07 '23 21:02

ktre7


2 Answers

Add this 2 JS - It will automatically provides/replaces Promise if missing or broken.

<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> 

Source: Comment by Arthez on Roman Canlas's post & https://github.com/stefanpenner/es6-promise

like image 116
Harshit Peer Avatar answered Feb 10 '23 10:02

Harshit Peer


The appendChild function has nothing to do with the issue you're facing. appendChild has been supported ever since IE6+

By looking at the html2canvas code, the library happens to make use of the Promises feature which unfortunately is not being supported in any version of IE

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

(though it is supported in Microsoft Edge)

like image 38
securecodeninja Avatar answered Feb 10 '23 11:02

securecodeninja