如何加载大量的Google Web Fonts?

时间:2012-02-09 21:26:02

标签: css3 font-face webfonts google-webfonts

是否有更好的方法将大量Google网络字体加载到一个页面中?

在页面加载时可能会延迟加载某些内容?或者也许只有在用户向下滚动到特定点后才加载某些字体?

我不禁想到有更好的方法来加载几种字体。将2或3放入Google“字体集”后,页面加载显然非常高。

我并不想通过设计一堆字体来解决问题,但我想要想出一种更好的方式来显示很多字体 - 有点像样本书。

我猜最好的例子是Myfonts上的无限滚动。我知道那些字体不是使用网络字体显示的,但我认为应该采用类似的方式加载网络字体。我的意思是,Google如何在homepage上加载所有这些字体?

1 个答案:

答案 0 :(得分:2)

我不知道这是否适合您,但Google Web Fonts确实提供了一种JavaScript方法,您可以设置何时使用该字体。 (也许在页面加载完成后加载字体?)

尝试直播demo

示例(使用字体Glass Antiqua):

<script type="text/javascript">
  WebFontConfig = {
    google: { families: [ 'Glass+Antiqua::latin' ] }
  };
  var YOURFUNCTION = 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);
  };

  //Maybe 10 seconds later?
  setTimeout(YOURFUNCTION, 10000);

  //Document Ready?
  $("body").ready(YOURFUNCTION);
</script>

演示:http://jsfiddle.net/DerekL/bkV7E/