只是想测试 Web Font Loader 的能力,令人惊讶的是,我发现当我需要在另一个页面中加载相同的字体时,加载器会执行新的下载,而不是使用字体的缓存版本。这是正常的吗?如果是这样,是否有一种简单的方法来检查字体是否可用于浏览器,换句话说,它是否被缓存?
这是我加载字体的方式:
<script>
WebFont.load({
custom: {
families: ['Univers45custom', 'Univers45customIE']
}
});
</script>
我正在使用Web Font Loader v1.5.10
.
BramVanroy 的附录:使用 Google 的网络字体时也会出现这种“缺乏缓存”。FOUT(无样式文本的 Flash)在使用字体加载器的网站上短暂出现,即使在多次重新加载页面后也是如此。
由 eldi 编辑:嗨 BramVanroy -> 现在我不确定我是如何解决这个问题的,但可能我只是使用了@font-face
. 我测试 Web Font Loader 的原因首先是 FOUT。加载器将 css 类添加到 html 元素,它为您提供了一种在没有正确字体的情况下设置页面样式的方法,当加载字体时,该类就消失了,并且出现了您的“标准”样式。这按预期工作,但出现“缺少缓存”异常,在我的情况下这是不可接受的。我相信修改 HTTP 标头的staypuftman 解决方法可以完成这项工作,我没有时间测试它,特别是我需要做一些研究以找到在 asp.net 托管服务提供商中设置它的方法,因为从应用程序设置它会增加额外的处理时间。