如何捕获包含使用 vis.js 制作的时间线的页面捕获
How to take a page capture which includes a timeline made with vis.js
我正在使用 php 生成单词报告。
我需要通过截取 php 脚本的屏幕截图来包含使用 vis.js 库制作的时间轴图片。
我尝试将 PhantomJS 与 php-phantomjs 一起使用。除了包含时间轴的 div 部分不存在(我有其他元素)之外,我能够呈现页面。使用该库,我能够为 D3js 和 Chart.js 等其他库生成屏幕截图。 vis.js 我有问题...
我也试过html2canvas。但据我所见所闻,截图的唯一方法是在浏览器中打开页面,而我不想这样做。
需要做什么才能达到我想要的效果?
由于某些原因,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>
我正在使用 php 生成单词报告。
我需要通过截取 php 脚本的屏幕截图来包含使用 vis.js 库制作的时间轴图片。
我尝试将 PhantomJS 与 php-phantomjs 一起使用。除了包含时间轴的 div 部分不存在(我有其他元素)之外,我能够呈现页面。使用该库,我能够为 D3js 和 Chart.js 等其他库生成屏幕截图。 vis.js 我有问题...
我也试过html2canvas。但据我所见所闻,截图的唯一方法是在浏览器中打开页面,而我不想这样做。
需要做什么才能达到我想要的效果?
由于某些原因,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>