Html2canvas: モジュールローダーが使用されている場合、window.html2canvasは未定義です

作成日 2016年03月24日  ·  4コメント  ·  ソース: niklasvh/html2canvas

html2canvasとhtml2canvas.svgはUMDとしてバンドルされているため、モジュールローダーを使用するアプリケーションではwindow.html2canvasは未定義になります。

最も参考になるコメント

その結果、あなたは

「未定義またはnull参照のプロパティ「svg」を取得できません」

IEでファブリックを使用しようとすると、エラーが発生します。

AMDの回避策:

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

全てのコメント4件

その結果、あなたは

「未定義またはnull参照のプロパティ「svg」を取得できません」

IEでファブリックを使用しようとすると、エラーが発生します。

AMDの回避策:

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

また、babel / es6を使用している場合:

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

これを実行しようとしましたが、空白の画像が表示されます。これを引き起こしている可能性のあるものについて何か考えはありますか?
バージョン0.5.0-beta4を使用しています。 とやって:
html2canvas(captureTarget, { allowTaint: true }).then(canvas => { let imagex64 = canvas.toDataURL(); });

その画像を表示すると空白になります。

MSIE 11.1でも同じ問題が発生しましたが、Chromeでは発生しません。

nearwoodの回避策のバリアントはエラーを停止しますが、SVGは正しくレンダリングされません。

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

@niklasvh 、なぜこれを閉じたのですか? 修正されたと思いますか? この問題を参照するコミットはありません。Chromeでこれを修正したものへのリンクがあります。MSIEでまだ壊れている理由を確認できますか?

このページは役に立ちましたか?
0 / 5 - 0 評価