浏览器每次访问网站时是不是需要重新下载自定义字体?
Posted
技术标签:
【中文标题】浏览器每次访问网站时是不是需要重新下载自定义字体?【英文标题】:Do browsers need to re-download customized fonts every time they access a website?浏览器每次访问网站时是否需要重新下载自定义字体? 【发布时间】:2015-03-09 05:07:18 【问题描述】:假设我有一个网站,我在其中自定义了字体,并且所有 .otf 文件大约 1MB。
现在,当用户访问网站时,将下载字体。问题是,这些字体会一直保留在用户的浏览器中吗? IE。即使用户关闭浏览器,字体会保留在那里吗?还是 .otf 文件就像所有 .css .html 文件一样?哪些可以缓存但需要重新下载?
如果是后者,我们如何处理这个问题?我的意思是让用户下载 1MB 的字体对 UX 不利。其他网站如何处理这个问题?是否使用了某种本地存储?
【问题讨论】:
【参考方案1】:虽然这可能有点依赖于浏览器,但每次都会下载字体并且不会缓存在浏览器中。这在 FOUT(无样式文本的 Flash)中很明显。您可以查看更多详细信息和解决方案:https://***.com/a/8844467/2407962
【讨论】:
【参考方案2】:假设我有一个网站,我在其中自定义了字体,并且所有 .otf 文件大约 1MB。
我一直在我的一个网站上使用谷歌字体,一般只有 2.6KB。
现在,当用户访问网站时,将下载字体。这 问题是,这些字体是否会保留在用户的浏览器中 一直安装? IE。即使用户关闭浏览器, 字体会保留在那里吗?或者是 .otf 文件就像所有 .css .html 文件?可以缓存但需要下载 再来一次?
我明白了,当用户访问我的网站时,我的网站总是会获取字体。 即使用户不清除浏览器缓存,网站在访问网站时仍会获取 css 和 html 等字体。
如果是后者,我们如何处理这个问题?我的意思是制作 用户下载 1MB 的字体对 UX 不利。其他网站如何处理 有这个问题?是否使用了某种本地存储?
gzip 编码可以帮助你。
这是我的经验,当我检查时我找不到其他方法。可能其他人可以提出更好的方法。
【讨论】:
【参考方案3】:页面中的所有外部包含都可以缓存:例如
图片(GIF、JPG、PNG) CSS 样式表 javascript/JSON 文件 音频 视频 等关键是设置正确的 HTTP 响应标头,以使它们能够被缓存,只要您希望它们存在。
//php style, other server lang syntaxes will vary
header("Cache-Control: max-age=31536000"); //365 days
您不能保证最终用户会将它们保留在缓存中,但 Cache-Control 标头会告诉浏览器他们可以保留它们多长时间。
不幸的是,有些用户将他们的浏览器配置为在关闭时刷新缓存,或者只维护一个非常小的缓存。您可以跟踪您的网络服务器日志/统计信息,以查看您的用户是否很好地缓存内容。
【讨论】:
以上是关于浏览器每次访问网站时是不是需要重新下载自定义字体?的主要内容,如果未能解决你的问题,请参考以下文章
joomla建站用的是google浏览器,其他浏览器打开时模块位置移动,是否使用自定义HTML时改过position的缘故