我的項目需要大約150種字體。加載所有字體最初會增加頁面加載時間。動態加載字體
我試過谷歌搜索,但無法找到答案。
場景:
用戶將從<select>
標籤選擇一種字體option
。並且在點擊,我有動態檢索字體和確保字體是由瀏覽器渲染,然後使用字體避免無樣式文本的閃存(FOUT)
目前我使用AJAX
到請求字體文件
$.ajax({
type: 'GET',
url: "font-file-url",
async:false,
success: function(data) {
$("style").prepend("@font-face {\n" +
"\tfont-family: \""+fontValue+"\";\n" +
"\tsrc: local('☺'), url("font-file-url") format('opentype');\n" +
"}");
}
});
問題
我不知道什麼時候該字體是由瀏覽器中呈現,所以我最終顯示FOUT