为什么当我进行屏幕转储时,PhantomJS从不渲染我的画布?

时间:2017-01-17 18:22:56

标签: javascript html5-canvas phantomjs

我正在尝试使用PhantomJS对我的基于Web的数据viz应用程序进行screendump,该应用程序使用Canvas进行渲染。

这是我写的:

var page = require('webpage').create();
page.open('./index.html', function(status) {

    if (status !== 'success') {
        console.log('Unable to load index.html');
    } else {
        window.setTimeout(function () {
            page.render('igv-screen-shot.png');
            phantom.exit();
        }, 5000);
    }
});

当我在浏览器中运行index.html时,我得到了这个(注意红色边框): enter image description here

div内的红色边框内的所有内容 - 不包括左边缘带有IGV的灰色导航栏 - 将呈现在画布上。这里有3个画布渲染。

当我运行上面的屏幕转储代码时,我得到: enter image description here

没有任何画布被渲染。请注意,红色div中的所有内容都是以编程方式创建的。红色div是发布时index.html中唯一的元素。我做错了什么?

0 个答案:

没有答案