【发布时间】:2016-04-29 10:33:10
【问题描述】:
我正在使用 phantomjs 以 PDF 格式呈现 AnyChart v6 图表 (http://6.anychart.com/)。
AnyChart v6 图表由一个 HTML 文件组成,该文件通过 Javascript 库调用 XML 定义文件并将其呈现为 SVG。
XML 定义文件是动态复杂处理的结果,因此服务器最多可能需要几分钟才能将 XML 文件传送到 Anychart javascript 库。
我的问题是强制 phantomjs 等待 XML 文件,所以我遇到了这个“twitter.js”脚本:
https://gist.github.com/cjoudrey/1341747
它工作得很好,只是有时它会永远锁定 phantomjs,唯一的办法就是杀死 Linux 进程。
这是一种随机行为,如果我再次尝试使用相同的 URL,它会起作用。
服务器日志显示 XML 文件已正确传递,因此不是服务器问题,而是客户端问题。
您能否在“twitter.js”代码中看到竞争条件或某些情况下可能导致 phantomjs 锁定的内容?
【问题讨论】:
-
克里斯蒂安,请澄清一下:您是否使用 Phantom JS 渲染 AnyChart 6 HTML5 图表?
-
是的。抱歉不清楚。