幻灯片
使用 JavaScript 库
一些开发人员出于各种目的选择使用 JavaScript 进行监视和干预(即使在不同浏览器之间不兼容的情况下):
检查字体何时加载(Font Face Observer)
异步加载CSS(加载CSS)
控制 Web 字体的加载(Web Font Loader)
输入链接预加载和 DNS 预取
DNS Prefetch是一个非常有趣的提高网站性能的工具。要解决延迟问题,您可以使用以下代码与源服务器建立连接:
想知道 Shopify 如何使用Prelo的第 16 页。
随着时间的推移评估“预加载”、“预连接”和“预取”在主要浏览器中的兼容性并制定您的策略。
使用 Font-display: swap CSS 规则
字体显示是什么意思?通过CSS 中的font-display声明,您可以自定义渲染策略并克服 webfont 加载问题,而无需使用 JavaScript。
Lighthouse在 2018 年 12 月发现,得益于“字体显示”,61.1% 的页面在加载字体时避免闪烁不可见文本 (FOIT) 。
了解 HTTP Archive 上字体显示的价值如何演变。
Font-display CSS 属性适用于以下值:
auto:是font-display的初始值,告诉浏览器按照 巴林电话号码库 浏览器的默认路径显示字体。
block:使用此关键字,在等待网页字体时,您可以设置一个较短的阻止时间。如果超过设定的时间,如果该字符尚不可用,则使用后备字体进行渲染
swap:这里甚至没有阻塞期,因为浏览器直接用后备字体渲染文本。原始字体的渲染路径仅在完全下载后才开始。
Fallback:使用此关键字设置一个较短的阻止期限,如果在此期限内未下载网络字体,用户将在整个访问网站的过程中看到替代字体。
可选:与前一个相比,这是一项额外的预防措施。如果在阻止期内未下载字体,则在访问网站期间,浏览器将显示替换字体,但会在后台下载网络字体,以便立即可用于将来访问该网站。
确保您的文本在加载网络字体时保持可见
使用font-display:swap是Google I/O '19 活动期间公布的15 个提高网站性能的技巧之一。
这样您就可以确保加载网页字体时文本对用户可见,并且PageSpeed Insights不会向您报告错误。
但您必须记住针对每个浏览器优化字体格式,事实上每种字体都应该以 WOFF2、WOFF、EOT 和 TTF 形式提供,因为它们是最常用的浏览器中最受支持的格式。
字体和速度
但是,如果我们必须在在线提供的各种字体中选择一种字体来提高网站的性能怎么办?这是网站的最佳字体。
如果性能是您的首要任务,这里介绍了如何为您的网站选择字体。
下面我报告了10 种最快的 Google 字体的排名,这要归功于 KeyCDN 创建的案例研究中收集的数据。
来源:KeyCDN
结论
网络字体还是系统字体?您需要在网站定制和性能之间找到正确的折衷方案。因此,我建议您对标题使用 Web 字体,对文本使用系统字体(反之亦然)。
这样您就可以减少遇到不必要的闪光的机会。此外,通过使用dns-prefetch或preload,您最多可以将字体加载时间减少 1 秒。
最后一个技巧是加载整个网页,而不使用任