Closed xccjk closed 2 years ago
每次下载字体文件后,将下载的字体文件load到DOM节点
async function loadFonts() { /* myfont: @font-face对应使用的字体 url: 字体文件对应url */ const font = new FontFace('myfont', 'url(myfont.woff)'); await font.load(); document.fonts.add(font); document.body.classList.add('fonts-loaded'); }
/* url: 字体文件url textName: 需要下载的文字 */ const font = await getFontApi(url, textName) document.fonts.add(font)
requestIdleCallback
indexedDB
MD5
字体子集化
问题常见
本地加载
每次下载字体文件后,将下载的字体文件load到DOM节点
字体子集化方案
究极方案
requestIdleCallback
,通过indexedDB
缓存文件业务场景
indexedDB
缓存到浏览器本地MD5
来判断文件是否发生更改来更新缓存资料