小程序缓存字体文件

204 阅读1分钟

2025-01-20 创建于墨问

小程序缓存字体文件

2025年3月5日 更新:

可以使用 dataURI 的方式来加载数据

流程为:

downloadFile -> readFile -> base64 -> dataURI -> wx.loadFontFace

代码片段:

developers.weixin.qq.com/s/V6lZZomL7…


2025年3月3日 更新:

小程序有 bug 截止基础库 3.7.8,具体表现如下:

  1. 移动端 webview 渲染:请求 2 次,其中一个请求可以协商缓存,另一个不能

  2. 移动端 skyline 渲染:请求 2 次,都可以协商缓存

  3. PC 端:表现正常,请求 1 次,有缓存时不发请求


需要设置字体文件的 HTTP 响应头

例如 max-age=518400

目前两种加载字体的方式:

  1. wx.loadFontFace

  2. css @font-face

webview 渲染引擎中,css 的方式无缓存,小程序每次冷启动都会下载字体文件,推荐使用 wx.loadFontFace

skyline 渲染引擎中,两种方式都有缓存

代码片段:

developers.weixin.qq.com/s/w7rk1lmg7…