Html2canvas: window.html2canvas ist undefiniert, wenn ein Modulloader verwendet wird

Erstellt am 24. März 2016  ·  4Kommentare  ·  Quelle: niklasvh/html2canvas

Da html2canvas und html2canvas.svg als UMD gebündelt sind, ist window.html2canvas in Anwendungen, die einen Modullader verwenden, nicht definiert.

Hilfreichster Kommentar

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

Alle 4 Kommentare

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?

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen