假设我有一个网站,其中我有自定义字体,所有.otf文件大约是1MB。
现在,当用户访问网站时,将下载字体。问题是,这些字体是否会一直保留在用户的浏览器中?即即使用户关闭浏览器,字体仍会保留在那里吗?或者.otf文件就像所有.css .html文件一样?哪个可以缓存,但需要再次下载?
如果是后者,我们该如何处理这个问题?我的意思是让用户下载1MB字体对UX不利。其他网站如何处理这个问题?是否使用了某种本地存储?
答案 0 :(得分:0)
虽然这可能与浏览器有点依赖,但每次都会下载字体,而不是在浏览器中缓存。 FOUT(无格式文本的Flash)就是明证。您可以查看此内容以获取更多详细信息和解决方案:https://stackoverflow.com/a/8844467/2407962
答案 1 :(得分:0)
假设我有一个网站,其中我有自定义字体,以及所有 .otf文件大约是1MB。
我一直在我的一个网站上使用谷歌字体,一般只有2.6KB。
现在,当用户访问网站时,将下载字体。该 问题是,这些字体是否会保留在用户的浏览器中 一直安装?即即使用户关闭浏览器, 字体会留在那里吗?或者就像所有的.otf文件一样 .css .html文件?哪些可以缓存但需要下载 再次?
我知道,我的网站总是在用户访问网站时获取字体。 即使用户没有清除他们的浏览器缓存,网站仍然会在访问网站时获取css和html等字体。
如果是后者,我们该如何处理这个问题?我的意思是制作 用户下载1MB字体对UX不利。其他网站如何处理 有这个问题?是否使用了某种本地存储?
gzip编码可以帮到你。
这是我的经验,当我检查时,我找不到其他方法。可能是其他人可以提出更好的方法。
答案 2 :(得分:0)
页面中的所有外部包含都可以缓存:例如
关键是设置正确的HTTP响应标头,以便只要您喜欢它们就可以缓存它们。
//PHP style, other server lang syntaxes will vary
header("Cache-Control: max-age=31536000"); //365 days
您无法保证最终用户将其保留在缓存中,但缓存控制标头会告诉浏览器 可以 保留它们多长时间对
不幸的是,有些用户将其浏览器配置为在关闭时刷新缓存,或仅维护非常小的缓存。您可以跟踪您的Web服务器日志/统计信息,以查看您的用户是否正在缓存。