当Google字体失败/加载缓慢时处理?

时间:2014-09-14 19:18:16

标签: fonts webfonts google-webfonts google-cdn webfont-loader

Google字体现在在中国遭到封锁/严重限制,现在我们的网站速度非常慢。

我们想要处理失败情况,而不是让我们的用户等待。当谷歌无法交付时,可以回复使用系统字体,那么,如果我们使用下面的代码,如何解决这个问题呢?

<link href='http://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'>

是否会改为使用JS API修复?

WebFontConfig = {
    google: { families: [ 'Open+Sans::latin' ] }   };   

   (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);   })();

4 个答案:

答案 0 :(得分:3)

虽然我不能说这是否适用于中国,但在其他地方,这个问题可以通过在链接网址中使用https而不是http来解决。

答案 1 :(得分:0)

您是否考虑过在自己的网站上自行下载和托管字体? How to host google web fonts on my own server? 这样它就会来自你的网站,所以理论上它会像你的网站加载一样快或者慢。

答案 2 :(得分:0)

截至2016年8月,这已得到修复。请参阅我的回答here。谷歌现在正在服务中国服务器的字体。

答案 3 :(得分:0)

<link href='http://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'>

使用https:

<link href='https://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'>

工作正常。