Debido a que html2canvas y html2canvas.svg están empaquetados como UMD, window.html2canvas no estará definido en las aplicaciones que usan un cargador de módulos.
Como resultado, obtienes un
"No se puede obtener la propiedad 'svg' de una referencia nula o no definida"
error en IE, siempre que intente utilizar fabric.
Una solución alternativa de AMD:
require(["html2canvas", "html2canvas.svg"], function(html2canvas, svg) {
window.html2canvas = {
svg: svg
};
Y si está usando babel / es6:
import html2canvas from 'html2canvas';
window.html2canvas = {
svg: html2canvas.svg
};
Intenté hacer esto y obtengo una imagen en blanco ... ¿Alguna idea de qué podría estar causando esto?
Estoy usando la versión 0.5.0-beta4. y haciendo:
html2canvas(captureTarget, {
allowTaint: true
}).then(canvas => {
let imagex64 = canvas.toDataURL(); });
cuando muestro esa imagen está en blanco.
Tuve el mismo problema en MSIE 11.1, pero no sucede en Chrome.
Una variante de la solución alternativa de Nearwood detiene el error, pero los SVG no se procesan correctamente:
import * as html2canvas from 'html2canvas';
(window as any).html2canvas = {
svg: html2canvas.svg
};
@niklasvh , ¿por qué
Comentario más útil
Como resultado, obtienes un
error en IE, siempre que intente utilizar fabric.
Una solución alternativa de AMD: