drm*_*wer 12 webfonts node.js google-webfonts phantomjs webfont-loader
我在一个环境中运行phantomjsnode.js,它进展顺利.目前我只是使用本地字体,但希望谷歌网页字体与phantomjs一起使用.
关于是否以及如何使用Web字体,有各种相互矛盾和令人困惑的报告phantomjs.还有像文章这样包含有死链接过时的信息.像这样的帖子表明phantomjs 2.0将支持或者可以支持网络字体,其他人则认为它不会支持2.0.1.在这篇文章中,有一个建议是webfonts在2.0中工作.
我已经尝试了很多选项,包括使用phantomjs 2.0和2.0.1二进制文件,但无法使其正常工作.可能是我正在使用Web字体加载器在我的js中加载Web字体,使用以下内容:
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); }
});
Run Code Online (Sandbox Code Playgroud)
但我总是到达inactive分支,所以字体加载永远不会成功...即使相同的代码在浏览器中正常工作(到达active分支.
在字体加载器文档中,它说:
如果Web Font Loader确定当前浏览器不支持
@font-face,inactive则将触发该事件.
我怀疑网络字体加载器确实确定浏览器(phantomjs)不支持这个,因此总是达到inactive.
谁有phantomjs +网络字体+网页字体加载器工作?
你用的UA是什么?我认为 Web Font Loader 使用 UA 来检测支持。尝试一下 Chrome 46 的 UA,然后看看是否有效。
var webPage = require('webpage');
var page = webPage.create();
page.settings.userAgent = 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1629 次 |
| 最近记录: |