首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google fonts + Pagespeed让它眨眼

Google fonts + Pagespeed让它眨眼
EN

Stack Overflow用户
提问于 2016-09-13 19:20:56
回答 1查看 835关注 0票数 0

我的第一个解决方案就是像这样添加Google字体:

代码语言:javascript
复制
<link href='http://fonts.googleapis.com/css?family=Open+Sans:300|Abel|Arimo:400,700' rel='stylesheet' type='text/css'>

然后我被谷歌页面的速度击中了。

Google Pagespeed说我应该异步加载字体。所以我这样做了,并且它起作用了。现在,在加载整个页面之前,字体不会加载。

代码语言:javascript
复制
<script type="text/javascript">
WebFontConfig = {
  google: {
    families: [ 'Open+Sans:300', 'Abel', 'Arimo:400,700' ]
  },
  active: function() {

  },
};

/* async! */
(function() {
var wf = document.createElement('script');
wf.src = ('https:' == document.location.protocol ? 'https' : 'http') + '://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js';
wf.type = 'text/javascript';
wf.async = 'true';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(wf, s);
})();
</script>

缺点是我得到一个字体“闪烁”,因为字体加载的延迟。它真的需要这样吗?还是有第三种解决方案?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-21 04:58:16

似乎没有一个好的方法来防止第一次加载时的闪烁,因为字体只有在页面已经打开时才会出现。

处理它的最好方法似乎是使用某种标志,通过cookie或在sessionStorage中,让浏览器知道如果可能的话,使用缓存的副本。

here上有一篇很好的文章。祝好运!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39468769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档