我正在调查使用PhantomJS来做一些自动化的图像渲染,基于现有的网页JavaScript代码库。为什么PhantomJS将此网站渲染为黑色方形?
但是,使用提供的rasterize.js
示例代码将our site呈现为600x600的黑色图像。其他网站似乎呈现良好。
现在,我们的网站默认使用WebGL,但有一个我已经检查过的2D回退功能(例如,在禁用WebGL的Chrome中) - #map=2d
标志应该跳过使用WebGL。
还有什么原因可以导致它产生这种纯黑色的图像?
也许它是在页面加载之前进行截图?
有没有什么方法可以调试呢?
我在我的Macbook上的Ubuntu Precise VM中使用了预编译的Ubuntu二进制文件2.0.1-development
。
你有在地方幻影任何错误日志代码?直到我添加了[这个'Function.bind()'polyfill](https://github.com/ariya/phantomjs/issues/10522#issuecomment-39248521)之前,我在运行基于React的应用程序时遇到了很大的问题。因人而异。幻影的JS引擎是相当古老的,所以如果你使用更新的JS功能,他们不太可能工作 – Bojangles
请注册到'onConsoleMessage','onError','onResourceError','onResourceTimeout'事件([Example](https:/ /gist.github.com/artjomb/4cf43d16ce50d8674fdf))在rasterize脚本中。也许有错误。也许你需要等待屏幕截图之前。 –
谢谢@ArtjomB。这些额外的日志记录钩子没有任何显示。 –