中国自 2014 年起就屏蔽了 Google API,这意味着包含 Map API 或 Fonts API 的网站的加载时间很长。对此有一个解决方法,因为 fonts.useso.com 也提供相同的字体库(分别参见 libs.useso.comfonts.useso.com )。

以下代码

<link href='http://fonts.googleapis.com/css?family=Open+Sans:300,400,600&subset=latin,latin-ext' rel='stylesheet'>

可以改成
<link href='http://fonts.useso.com/css?family=Open+Sans:300,400,600&subset=latin,latin-ext' rel='stylesheet'>

它在中国会很好地工作。

但是,考虑到用户访问的位置,如果我想动态选择我想从中加载 API 的源,该怎么办?

最佳答案

您可以使用第三方服务来确定用户位置并切换字体。

例如,您可以集成免费的 userinfo.io
在这种情况下,位置是根据 IP 地址确定的,因此如果中国人从欧洲访问,他将位于欧洲并加载 google 字体。

将其插入您的 <head> :

<script type="text/javascript" href="//cdnjs.cloudflare.com/ajax/libs/userinfo/1.0.0/userinfo.min.js"></script>

<script type="text/javascript">
UserInfo.getInfo(function(data) {
  // the "data" object contains the info
  if (data.country.code == 'CN') {
    // load your fallback fonts
  } else {
    // Load your google fonts
  }
}, function(err) {
  // the "err" object contains useful information in case of an error
});
</script>

免责声明:我编写并维护了 userinfo.io

关于html - 检查用户是否使用位于中国的浏览器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26645987/

10-11 13:03