利用腾讯云EdgeOne提速,解决woff2字体显示慢的问题

大家应该很熟悉字体文件,尤其主题模板在开发上架之后会给大家一些优化建议,但是使用字体文件显示网站内容的时候大家应该都遇到过,那就是加载缓存,加载后才能显示自定义字体文件,之前介绍过个人博客站使用自定义字体去美化的教程,但却忽略了字体文件较大导致延迟显示的问题,最近一直在用腾讯云的 EdgeOne,我们可以设置下字体加载策略,以此来解决延迟显示的问题。

缓存优化

我们可以在EdgeOne后台设置缓存优化,确保CDN设置合理的缓存策略,使得返回的字体文件能够被用户的浏览器缓存,减少重复请求,另外设置较长的缓存过期时间(TTL),对于不经常更新的字体文件,可以设置TTL为一年或更长。

设置方法,登录EdgeOne后台,点击【站点列表】,找到【站点加速】,在右侧选择【规则引擎】,点击已经创建好的规则,如果没有规则可以创建,如下图:

利用腾讯云EdgeOne提速,解决woff2字体显示慢的问题

设置添加一个【elseif】,选择【文件后缀】,运算符【等于】,值设置如下:【woff2,woff,ttf】(如果有其他格式可以添加),然后操作分别选择【节点缓存TTL】和【浏览器缓存TTL】,行为设置【自定义时间】,时间可以设置成【365】天,也就是一年,因为字体文件本身就不需要经常更换,所以可以相对设置时间多一年,开启【忽略大小写】和【强制缓存】开关,如图:

利用腾讯云EdgeOne提速,解决woff2字体显示慢的问题

如图设置好之后,点击顶部【保存并发布】即可。

文件压缩

虽然WOFF2已经是经过优化的字体格式,但确保EdgeOne支持并开启了压缩功能,如gzip或Brotli压缩,可以进一步减小文件体积。设置如下,点击【站点全局配置】,在下方功能选项找到【文件优化】将Gzip和Brotli全局开启功能开关打开,如图:

利用腾讯云EdgeOne提速,解决woff2字体显示慢的问题

至此字体优化在腾讯云EdgeOne已经设置完成,稍等一小会等待部署完成生效,期间我们回到服务器,再去设置下字体加载策略:利用font-display属性控制字体的加载行为,例如设置为swap可以让浏览器在字体加载期间使用备用字体,从而提升性能并减少流量。

预连接和预加载:

通过在HTML中使用link标签的rel="preload"属性来预加载关键的字体文件,优化加载时间。使用dns-prefetch和preconnect来提前解析CDN域名的DNS和建立连接。

@font-face{
    font-family:HarmonyOS_Sans_SC;
    font-style:normal;
    font-display:swap;
    src:url(/tools/fonts/HarmonyOS_Sans.subset.woff2) format('woff2');
}
body,a{font-family:HarmonyOS_Sans_SC;}

【HarmonyOS_Sans_SC】字体文件名称,url是字体文件的路径,这样,即使字体文件尚未加载完成,浏览器也会使用备用字体显示文本,从而提升性能。本站开发主题模板,复制如上代码(主题替换字体名称和路径)粘贴到主题设置,自定义css接口即可。

预加载字体文件

在网页的<head>部分,使用<link>标签的rel="preload"属性来预加载关键的字体文件。

<link rel="preload" href="/tools/fonts/HarmonyOS_Sans.subset.woff2" as="font" type="font/woff2" crossorigin>

如果是我的主题模板,可以在广告设置选项卡里找到【广告设置】,在【网页头部接口(非广告代码)】接口添加如上代码即可。通过上述方法的组合使用,可以有效降低WOFF2字体文件在CDN上的流量消耗。这时回到首页前端刷新页面,你会发现自定义字体直接显示,不再延迟显示了,但是需要注意,预加载可能会存在增加耗费少量 CDN 流量问题,请自行对比后考虑是否使用。好了,感兴趣的可以自行测试下效果吧,有其他问题留言反馈吧。

文章声明:以上内容(如有图片或视频亦包括在内)除非注明,否则均为网站名称原创文章,转载或复制请以超链接形式并注明出处。https://xz.itlaoli.com/blog/825.html

« 上一篇
下一篇 »

相关推荐

Linux手动分区挂载10TB磁盘到 /www目录并安装宝塔面板到数据盘的完整教程

2025年10月16日

429阅读

记录Windows11系统暂停更新怎么延长周数的教程

2025年08月25日

2849阅读

Windows11失败,提示“ahsProtector-你的电脑上有服务尚未准备好用于此版本的Windows”的解决方案

2025年08月21日

3307阅读

zblogPHP李洋个人博客主题使用网址导航模板的图文教程

2025年05月27日

5605阅读

百度普通收录API提交后提示 {"error":400,"message":"site init fail"}问题怎么解决?

2025年03月03日

5065阅读

zblog应用中心后台无法更新主题模板及无法新建标签的解决办法

2025年02月24日

6605阅读

发表评论

访客 访客
评论列表 (暂无评论,5797人围观)

还没有评论,来说两句吧...

取消
微信二维码
微信二维码
支付宝二维码