Tengo una página que tiene un elemento div con id='cart' y quiero poder tomar una captura de pantalla de este elemento html. Utilicé html2canvas y funcionó bien (el código está debajo), pero fue lento en la "renderización", así que probé la biblioteca dom-to-image ya que llegó a abordar esta lenta reproducción de html2canvas, verifiqué esta biblioteca y funcionó para muchas personas, pero para mí no puedo hacer que funcione, siempre genera una imagen en blanco .
Aquí está el fragmento de código que usé para dom-to-image:
var cart = document.getElementById('cart') domtoimage.toPng(cart) .then(function (dataUrl) { var img = new Image(); img.src = dataUrl; document.getElementById('test').appendChild(img); }).catch(function(error) { console.error('oops, something went wrong!', error); });el código que usé para html2canvas (funcionando):
$('#cart').html2canvas({ background :'#0A4361', color: '#cce3ff', onrendered: function (newCanvas) { $('#test img').attr('src',newCanvas.toDataURL()); } });