Как сделать захват страницы, которая включает временную шкалу, сделанную с помощью vis.js

Я генерирую текстовый отчет, используя php.

Мне нужно включить изображение временной шкалы, сделанное с помощью библиотеки vis.js, сделав снимок экрана с этого php-скрипта.

Я пытался использовать PhantomJS с php-phantomjs. Я могу отобразить страницу за исключением того, что раздел div, содержащий временную шкалу, отсутствует (у меня есть другие элементы). Используя эту библиотеку, я могу создавать скриншоты для других библиотек, таких как D3js и Chart.js. У меня проблема с vis.js …

Я также попробовал html2canvas. Но из того, что я видел и делал, единственный способ сделать скриншот — это открыть страницу в браузере, а это мне не нужно.

Что нужно сделать, чтобы добиться того, чего я хочу?

1

Решение

По какой-то причине PhantomJS выдает ошибку при загрузке временной шкалы. Я создал проблему, чтобы выяснить причину этой проблемы:

https://github.com/almende/vis/issues/1170

РЕДАКТИРОВАТЬ: нашел причину.

PhantomJS использует старый движок рендеринга, который не поддерживает функцию ES5 bind, Чтобы решить эту проблему, сначала загрузите ES5-shim на свою веб-страницу:

<!-- load ES5 shim needed to run on old browsers IE8 and PhantomJS -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/es5-shim/4.1.10/es5-shim.min.js"></script>
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]