收藏
回答

wx.loadFontFace 加载的字体,考虑支持缓存在本地吗?即支持加载本地字体文件

wx.loadFontFace 加载的字体,考虑支持缓存在本地吗,用户每次都加载,体验较差!

支持缓存字体好处:

  • 用户友好

1.用户每次进入,都要远程加载字体,然而中文字体文件通常较大,5M-20M都是常态,用户等待字体加载的过程,需要5秒,非常痛苦。对于高频访问的用户,这总加载字体的体验,简直就是在劝退用户

2.能有效提高小程序的设计感和体验感

3.满足用户的个性化审美,从而提高小程序复用率

  • 降低开发者成本

用户每访问一次,就加载一次字体,cdn费用非常高昂,如果字体支持缓存在本地,开发者的字体存储成本,将会大幅降低,从而提高产品竞争力

  • 设计不受限

UI设计可以更为个性化、美观、艺术性可以更加大胆,不必因为考虑成本而放弃原有设计,避免了小程序设计的趋同、模板化,增加了小程序生态的多样性和创意性,进一步提高小程序生态竞争力


故增加字体缓存功能,小程序美观、个性化、设计更为优美、体验更好的时代,将会到来


回答关注问题邀请回答
收藏

2 个回答

  • 社区技术运营专员-Jahozheng
    社区技术运营专员-Jahozheng
    2024-11-16

    目前暂不支持此功能。

    做个降级方案呢,loadFontFace 加载失败的话,改成 class url 去加载

    如果 @font-face 没问题的话,可以去掉 loadFontFace 避免重复加载

    2024-11-16
    有用
    回复 5
    • 美州
      美州
      2024-11-18
      关键就是@font-face有问题,项目需要动态切换字体,不是固定写死几个,是几百个字体文件相互切换
      2024-11-18
      回复
    • 美州
      美州
      2024-11-18
      只要loadFontFace 支持加载本地的ttf字体文件即可
      2024-11-18
      回复
    • 美州
      美州
      2024-11-18
      把网络加载ttf,改为支持读取本地的ttf文件
      2024-11-18
      回复
    • Koala
      Koala
      01-10回复美州
      即使能读取本地的话,小程序包又有大小限制,字体文件都不小,怎么在本地存呢?
      01-10
      回复
    • 荔枝
      荔枝
      02-18回复美州
      @font-face 会缓存?下次小程序冷启动不用再次加载了吗
      02-18
      回复
  • 荔枝
    荔枝
    02-20

    请问您说的缓存字体是这里吗?这样写小程序冷启动还是要重新重新加载的啊,还是没解决wx.loadFontFace 加载的字体,缓存本地的问题

    02-20
    有用
    回复 1
    • 夏味
      夏味
      03-03
      目前微信有 bug,冷启动后执行 loadFontFace 会发 2 个请求,字体设置 max-age 后,其中一个走缓存了,另一个 xhr 请求字体了。

      PC 端微信没这个问题,skyline 2个请求都命中缓存了,只有移动端 webview 有问题。
      03-03
      回复
登录 后发表内容