Da html2canvas und html2canvas.svg als UMD gebündelt sind, ist window.html2canvas in Anwendungen, die einen Modullader verwenden, nicht definiert.
Als Ergebnis erhalten Sie ein
"Die Eigenschaft 'svg' eines undefinierten oder Nullverweises kann nicht abgerufen werden"
Fehler im IE, wenn versucht wird, Fabric zu verwenden.
Ein AMD-Workaround:
require(["html2canvas", "html2canvas.svg"], function(html2canvas, svg) {
window.html2canvas = {
svg: svg
};
Und wenn Sie babel/es6 verwenden:
import html2canvas from 'html2canvas';
window.html2canvas = {
svg: html2canvas.svg
};
Ich habe versucht, dies zu tun, und ich erhalte ein leeres Bild..eine Idee, was dies verursachen könnte?
Ich verwende Version 0.5.0-beta4. und dabei:
html2canvas(captureTarget, {
allowTaint: true
}).then(canvas => {
let imagex64 = canvas.toDataURL(); });
wenn ich das Bild zeige ist leer.
Ich hatte das gleiche Problem in MSIE 11.1, aber es passiert nicht in Chrome.
Eine Variante der Problemumgehung von Nearwood stoppt den Fehler, aber SVGs werden nicht richtig gerendert:
import * as html2canvas from 'html2canvas';
(window as any).html2canvas = {
svg: html2canvas.svg
};
@niklasvh , warum hast du das geschlossen? Ist es gedacht fest? Ich sehe keine Commits, die auf dieses Problem verweisen: Haben Sie einen Link zu der Fehlerbehebung in Chrome, damit ich mir ansehen kann, warum es in MSIE immer noch defekt ist?
Hilfreichster Kommentar
Als Ergebnis erhalten Sie ein
Fehler im IE, wenn versucht wird, Fabric zu verwenden.
Ein AMD-Workaround: