【发布时间】:2016-03-13 19:30:37
【问题描述】:
我在node.js 环境中运行phantomjs,并且进展顺利。目前我只是使用本地字体,但想让google web fonts 使用 phantomjs。
关于是否以及如何使网络字体与phantomjs 一起使用,有各种相互矛盾和令人困惑的报告。像this 这样的文章包含带有死链接的过时信息。像 this 这样的帖子表明 phantomjs 2.0 将或可以支持网络字体,其他人则说它不支持,但 2.0.1 会支持。在this 的帖子中,有人建议 webfonts 在 2.0 中可以工作。
我尝试了很多选项,包括 phantomjs 2.0 和 2.0.1 二进制文件,但无法正常工作。可能是我正在使用web font loader 在我的 js 中加载网络字体,使用以下内容:
WebFont.load({
google: {
families: ['Droid Sans', 'Droid Serif']
},
loading: function() { console.log('loading'); },
active: function() {
console.log('active');
// hooray! can do stuff...
},
inactive: function() { console.log('inactive'); },
fontloading: function(familyName, fvd) { console.log('fontloading', familyName, fvd); },
fontactive: function(familyName, fvd) { console.log('fontactive', familyName, fvd); },
fontinactive: function(familyName, fvd) { console.log('fontinactive', familyName, fvd); }
});
但我总是到达inactive 分支,因此字体加载永远不会成功......即使相同的代码在浏览器中运行良好(到达active 分支。
在font loader docs 中,它说:
如果Web Font Loader判断当前浏览器不支持
@font-face,则会触发inactive事件。
我的怀疑是网络字体加载器确实确定浏览器(phantomjs)不支持这个,因此总是到达inactive。
有人让 phantomjs + web fonts + web font loader 工作吗?
【问题讨论】:
标签: node.js phantomjs webfonts google-webfonts webfont-loader