Html2canvas: window.html2canvas n'est pas défini si un chargeur de module est utilisé

Créé le 24 mars 2016  ·  4Commentaires  ·  Source: niklasvh/html2canvas

Étant donné que html2canvas et html2canvas.svg sont regroupés en tant qu'UMD, window.html2canvas ne sera pas défini dans les applications qui utilisent un chargeur de module.

Commentaire le plus utile

En conséquence, vous obtenez un

"Impossible d'obtenir la propriété 'svg' de référence indéfinie ou nulle"

erreur dans IE, chaque fois qu'il essaie d'utiliser Fabric.

Une solution de contournement AMD :

require(["html2canvas", "html2canvas.svg"], function(html2canvas, svg) {
  window.html2canvas = {
    svg: svg
  };

Tous les 4 commentaires

En conséquence, vous obtenez un

"Impossible d'obtenir la propriété 'svg' de référence indéfinie ou nulle"

erreur dans IE, chaque fois qu'il essaie d'utiliser Fabric.

Une solution de contournement AMD :

require(["html2canvas", "html2canvas.svg"], function(html2canvas, svg) {
  window.html2canvas = {
    svg: svg
  };

Et si vous utilisez babel/es6 :

  import html2canvas from 'html2canvas';
  window.html2canvas = {
    svg: html2canvas.svg
  };

J'ai essayé de le faire et j'obtiens une image vierge.
J'utilise la version 0.5.0-beta4. et faire :
html2canvas(captureTarget, { allowTaint: true }).then(canvas => { let imagex64 = canvas.toDataURL(); });

quand j'affiche cette image est vide.

J'ai eu le même problème dans MSIE 11.1, mais cela ne se produit pas dans Chrome.

Une variante de la solution de contournement de nearwood arrête l'erreur, mais les SVG ne s'affichent pas correctement :

import * as html2canvas from 'html2canvas';
(window as any).html2canvas = {
    svg: html2canvas.svg
};

@niklasvh , pourquoi as-tu fermé ça ? Est-ce que c'est la pensée fixe? Je ne vois aucun commit faisant référence à ce problème : avez-vous un lien vers ce qui a résolu ce problème dans Chrome, afin que je puisse voir pourquoi il est toujours cassé dans MSIE ?

Cette page vous a été utile?
0 / 5 - 0 notes