为什么 PhantomJS 将此网站呈现为黑色方块?
Why does PhantomJS render this website as a black square?
我正在研究使用 PhantomJS 进行一些基于现有网络 javascript 代码库的自动图像渲染。
但是,使用提供的 rasterize.js
示例代码将 our site 呈现为 600x600 黑色图像。其他网站似乎呈现正常。
现在,我们的网站默认使用 WebGL,但有一个 2D 后备,我已经检查过它可以工作(例如,在禁用 WebGL 的 Chrome 中)- #map=2d
标志应该跳过使用 WebGL。
还有什么其他原因会导致它产生这种纯黑色图像?
也许它在页面加载之前截取了屏幕截图?
有什么调试方法吗?
我在我的 Macbook 上的 Ubuntu Precise VM 中使用预编译的 Ubuntu 二进制文件 2.0.1-development
。
您需要稍等片刻才能加载页面。使用 CasperJS(基于 PhantomJS 的工具)一切正常:
var casper = require('casper').create();//Create casper object
casper.options.viewportSize = {width: 900, height: 900};//Set viewport
casper.start().thenOpen('http://staging.nationalmap.nicta.com/#map=2d', function() {
});
casper.wait(10000, function(){//wait for 10 seconds so we are sure page is loaded
this.capture('small2d.png');//take a screenshot
});
casper.run();
我正在研究使用 PhantomJS 进行一些基于现有网络 javascript 代码库的自动图像渲染。
但是,使用提供的 rasterize.js
示例代码将 our site 呈现为 600x600 黑色图像。其他网站似乎呈现正常。
现在,我们的网站默认使用 WebGL,但有一个 2D 后备,我已经检查过它可以工作(例如,在禁用 WebGL 的 Chrome 中)- #map=2d
标志应该跳过使用 WebGL。
还有什么其他原因会导致它产生这种纯黑色图像?
也许它在页面加载之前截取了屏幕截图?
有什么调试方法吗?
我在我的 Macbook 上的 Ubuntu Precise VM 中使用预编译的 Ubuntu 二进制文件 2.0.1-development
。
您需要稍等片刻才能加载页面。使用 CasperJS(基于 PhantomJS 的工具)一切正常:
var casper = require('casper').create();//Create casper object
casper.options.viewportSize = {width: 900, height: 900};//Set viewport
casper.start().thenOpen('http://staging.nationalmap.nicta.com/#map=2d', function() {
});
casper.wait(10000, function(){//wait for 10 seconds so we are sure page is loaded
this.capture('small2d.png');//take a screenshot
});
casper.run();