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