我已经搜索过并试图找到答案,但似乎无法找到答案。
我想知道你是否使用src: local()
我理解这个检查以确定用户是否先安装了字体,然后才下载它!?
然而我似乎无法找到的是,当第一次下载字体时,这会将字体永久存储在用户计算机上(因为用户下次不需要再次下载它)或者它会在不久之后被删除吗?
我很想知道,如果没有他们从网站下载字体,人们不太可能安装字体,因此如果它不会被存储很长一段时间,那么我认为没有必要使用src: local()
如果我确实使用“smiley face”hack,我也不确定 最终是否使用src: local
!
Font Squirrel似乎没有使用它们,所以我发现它很有趣。
答案 0 :(得分:2)
CSS3字体草案中给出的definition of src: local(...)
指的是“本地可用的副本”,没有额外的说明。在实践中显然会发生什么 - 这可以相当简单地测试 - 是它需要是一个安装的字体,而不是下载的字体,甚至不应该作为系统中的普通文件存在。
与此无关,字体数据通常被缓存 - 但这意味着浏览器将字体数据的URL与其加载的数据相关联。因此,在正常的缓存机制中,浏览器不需要重新加载字体数据,例如如果在网站的不同页面上使用相同的可下载字体,并且用户在那里浏览。
使用src: local(...)
通常只对用户实际下载字体(通常来自其下载网站)和安装它的可能性有用,例如使用它在Word处理器中。因此,如果它是一种流行的免费字体,它可能是有意义的。本地副本将独立于缓存问题使用。但是,本地副本可能是比您的可下载字体更旧(或更新)的版本。
笑脸黑客是一个令人困惑的问题,但在这方面,我依赖于FontSquirrel的决定。他们不再使用它,部分原因是据报道它在一些Android版本中引起问题,部分原因是因为他们认为他们有更好的黑客攻击;看他们的博客文章The New Bulletproof @Font-Face Syntax。
答案 1 :(得分:0)
下载字体后,很可能会将其存储在网络浏览器的缓存中。
可以随时清除此缓存:当用户关闭浏览器时,如果用户使用清理程序,等等。
但是,您的字体很可能会在缓存中保留一段时间,直到它过期或被清除。