【发布时间】:2014-10-28 02:45:26
【问题描述】:
我正在尝试使用 node-weshot 创建我的网站的图像快照,这取决于 phantomjs。它在我的本地机器上按预期工作,但是当我将它部署在实时服务器上时。它只是不断触发回调,说图像已生成。但在下面,该过程仍在生成图像。 (即)文件名已生成,但没有大小和内容。 10 分钟后,该文件将填充图像数据。但是字体没有正确呈现。
这里是截图:
这是我的网络截图代码:
var options = {
screenSize: {
width: 403,
height: 403
},
shotSize: {
width: 403,
height: 403
},
script: function() {
$(function() {
window.callPhantom('takeShot');
});
},
takeShotOnCallback: true
};
webshot(baseUrl+frame_url, path, options, function(err) {
if(err){
return res.json({ok:false, error:err.error || err});
}
return res.json({image:baseUrl+img,ok:true});
});
所以从技术上讲,我在这里有 2 个问题:
- 即使图像生成尚未完成,Webshot 也会返回回调。
- 生成的图像未正确呈现字体。 (我在这里使用 Google 字体)。
有什么办法可以解决这个问题吗?我可以看到这与How do you take a screenshot of an angularjs app?有关
或者有什么好的替代 node-webshot 和 phantomjs 的?
【问题讨论】:
标签: node.js webkit phantomjs webpage-screenshot