2

我正在建立一个网站,让用户可以选择应用于其文本的字体。我正在使用谷歌的网络字体。目前,当他们通过下拉菜单选择字体时,我正在使用:

 $("head").append("<link href='https://fonts.googleapis.com/css?family=" + FontName + "' rel='stylesheet' type='text/css'>");

这很好用。我的问题是:

  • 如果用户多次选择相同的字体(在同一个会话中)该字体是否加载了两次?
  • 如果是这样,有没有办法确定字体 X 是否已经加载,以免重新加载它?

有很多,我想我不想全部预加载,只是在选择时。

4

2 回答 2

3

用户的浏览器应该缓存字体而不需要你做任何额外的事情。

由于字体位于 google 的服务器中,缓存协商发生在 google 和您的用户之间。换句话说,你甚至无法控制它。

因此,第二次添加相同内容不应导致用户浏览器再次加载它。当然,除非用户在他们的浏览器上禁用了缓存。

于 2013-02-27T16:06:59.880 回答
1

字体应由浏览器缓存,请参阅https://developers.google.com/webfonts/faq#Many_Fonts_Per_Page

于 2013-02-27T16:05:16.347 回答