Поскольку html2canvas и html2canvas.svg связаны как UMD, window.html2canvas будет неопределенным в приложениях, использующих загрузчик модулей.
В результате вы получите
«Невозможно получить свойство 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?
Самый полезный комментарий
В результате вы получите
ошибка в IE, когда он пытается использовать ткань.
Обходной путь AMD: