2

我已经搜索并搜索以尝试找到答案,但似乎找不到答案。

我想知道你是否使用src: local()我理解这个检查来查看用户是否在下载之前先安装了字体!?

但是我似乎无法找到的是,当第一次下载字体时,这会将字体永久存储在用户计算机上(因为用户下次不需要再次下载)还是不久之后它会被删除吗?

我想知道,因为人们不太可能在没有从网站下载字体的情况下安装字体,因此如果它不会长时间存储,那么我认为没有必要使用src: local().

我也不确定我是否真的src: local应该使用“笑脸黑客!?

Font Squirrel 似乎不使用它们,所以我觉得这很有趣。

4

2 回答 2

2

CSS3 字体草案中给出的定义是src: local(...)指“本地可用的副本”,没有额外的说明。在实践中显然发生的事情——这可以很简单地测试——它需要是安装的字体,而不是下载的字体,甚至不应该期望它作为系统中的普通文件存在。

与此完全独立的是,字体数据通常会被缓存——但这意味着浏览器会将字体数据的 URL 与其加载的数据相关联。因此,在正常的缓存机制中,浏览器不需要重新加载字体数据,例如,如果在站点的不同页面上使用相同的可下载字体并且用户在那里冲浪。

使用通常仅在用户实际下载字体(通常从其下载站点)安装它以在字处理器中使用它src: local(...)的可能性方面才有意义。因此,如果它是一种流行的免费字体可能是有意义的。当本地副本将独立于缓存问题使用时。但是,本地副本可能是比您的可下载字体更旧(或更新)的版本。

笑脸黑客是一个令人困惑的问题,但在这方面,我依赖 FontSquirrel 的决定。他们不再使用它,部分原因是据报道它会导致某些 Android 版本出现问题,部分原因是他们认为他们有更好的 hack;查看他们的博客文章The New Bulletproof @Font-Face Syntax

于 2012-11-10T17:18:19.320 回答
0

下载字体后,它很可能会存储在 Web 浏览器的缓存中。

可以随时清除此缓存:当用户关闭浏览器时,如果用户使用清理程序等等。

但是,您的字体可能会在缓存中保留一段时间,直到过期或被清除。

于 2012-11-10T15:24:14.147 回答