Uncaught (в обещании) дом-к-изображению - PullRequest
0 голосов
/ 21 сентября 2018

У меня есть страница с несколькими HTML-элементами canvas.Сайт на самом деле построен в angularjs, и на нем отображаются графики, созданные в Qlik.Я пытаюсь получить скриншот отдельных диаграмм, которые отображаются в браузере как элементы canvas.

Использование https://github.com/tsayen/dom-to-image, Я могу получить снимок экрана только первой диаграммы, используя следующий код:

var node = document.getElementById(divToPrint);
    domtoimage.toPng(node)
        .then(function (dataUrl) {
            var link = document.createElement('a');
            link.download = divToPrint + '.png';
            link.href = dataUrl;
            link.click();
        });

Однако для всех остальных диаграмм я получаю следующую ошибку:

Uncaught (in promise) Event {isTrusted: true, type: "error", target: null, currentTarget: null, eventPhase: 0, …}
Promise.then (async)

Я обнаружил, что кто-то уже опубликовал это на github, но ответа нет: https://github.com/tsayen/dom-to-image/issues/181

Чего-то не хватает в коде?

1 Ответ

0 голосов
/ 12 января 2019

Вы можете попробовать это, используя https://github.com/tsayen/dom-to-image. Ниже приведен простой код для этого.

var node = document.getElementById(divToPrint);
domtoimage.toBlob(document.getElementById('node'))
    .then(function (blob) {
        saveAs(blob, 'my-node.png');
    });

Но для этого вы должны использовать fileSaver.js.Вы можете получить его здесь https://github.com/eligrey/FileSaver.js/

и импортировать как import { saveAs } from 'file-saver';.в вашем проекте.

...