css – 使用@ font-face减慢加载时间.我可以强制客户端缓存字体吗?

前端之家收集整理的这篇文章主要介绍了css – 使用@ font-face减慢加载时间.我可以强制客户端缓存字体吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
更新:
看起来像头请求信息是罪魁祸首.如何更改请求标头的max-age属性? TIA.

嗨,我在网站上使用@ font-face,我遇到延迟加载的文字(大概是由于每页的字体加载).我明白客户端必须下载一次字体才能正常显示,但每一页?

有没有办法强制浏览器缓存该文件?或者还有另一种替代方法来加快字体的加载时间? (这是一个更适合在Server Fault发布的问题吗?)

提前致谢.最糟糕的情况是,我会忍受延迟,所以我不需要任何“脱掉@ font-face”的答案…;)

附加信息:

>我已经在Mac和Windows(XP和7)上的Safari(4)和Firefox(3.5RC1)中进行了测试
>我测试过的所有浏览器目前都设置为允许缓存(默认情况下为开启)
> URL不是动态的,它只是“/fonts/font.otf”
>字体URL是正确的,因为页面加载字体并正确显示,尽管正常慢
>请求标题

缓存控制:最大年龄= 0
If-Modified-Since:Wed,24 Jun 2009 03:46:28 GMT
如果 – 无 – 匹配:W / “484d9f2-a5ac-46d10ff2ebcc0”
引用者:http://testurl.com/
用户代理:Mozilla / 5.0(Macintosh; U; Intel Mac OS X 10_6; en-us)AppleWebKit / 530.13(KHTML,像Gecko)版本/ 4.0 Safari / 530.15
>响应标题

连接:保持活动
日期:星期四,2009年6月25日02:21:31 GMT
ETAG: “484d9f2-a5ac-46d10ff2ebcc0”
Keep-Alive:timeout = 10,max = 29
服务器:Apache / 2.2.11(Unix)mod_ssl / 2.2.11 OpenSSL / 0.9.8i DAV / 2 mod_auth_passthrough / 2.1 mod_bwlimited / 1.4 FrontPage / 5.0.2.2635

解决方法

你永远不会强制浏览器缓存某些东西,只能鼓励它.我可以想到没有理由为什么一个正确到期的头文件的字体文件不会被缓存,这使我们得到:

>这是一个浏览器错误(你不说哪个浏览器)
>您的缓存控制头丢失或错误
>您的浏览器配置为不缓存任何内容(图像缓存?)
>您的字体URL是动态的,因此浏览器认为每个请求都是针对不同的资源
>字体文件实际上丢失或URL拼错.
>延迟不是由字体下载引起的(你确实说你假设这是问题)

我想更多的信息是有序的.

编辑:设置缓存控制是一个服务器和语言特定的事情.看看mod_expires有关Apache缓存的信息.

猜你在找的CSS相关文章