ページのWebフォントがロードされたときにDOMにアクセスして検出するにはどうすればよいですか?Base64でエンコードされたWebフォントの "onload"を検出するにはどうすればよいですか?
29個の.ttfフォントがbase64で1つのCSSファイルにエンコードされています。私はまた、ブラウザに各フォントをメモリに読み込ませるために、各フォントを使用するページに隠されたdiv
を持っています。そのプロセスには時間がかかるので、ブラウザが各フォントをメモリにロードした後、AJAXイベントをキューに入れて起動する必要があります。
*私はdocument.ready
とwindow.onload
が近づいていることを知っていますが、外部リソースの残りの部分が読み込まれてAJAXを早く消火する前にイベントを発生させたいと思います。
(jQueryの最後の手段として、してください)
================
を追加しましたサンプルコード:
HTML
<head>
...
<link type="text/css" rel="stylesheet" href="TTF-embedded-fonts.css" />
<script type="text/javascript" src="load-fonts.js"></script>
</head>
負荷-FO nts.js
var ST1 = document.createElement('div');
ST1.setAttribute('id', 'fontloader');
ST1.innerHTML = "<span style='font-family:samplefont'>a<b>b<i>c</i></b><i>d</i></span> ... ";
ST1.style.cssText = "height:0px;text-indent:-9999px;visibility:hidden";
window.document.body.onload = appendST1();
function appendST1() { document.body.appendChild(ST1) };
[FONT-LOAD HANDLER HERE] { API.Ajax.loadComplete("load-fonts.js") };
TTF-fonts.css包埋
@font-face {
font-family: 'samplefont';
src: url(data:font/truetype;charset=utf-8;base64,AAAE...) format('truetype');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'samplefont';
src: url(data:font/truetype;charset=utf-8;base64,AAAE...) format('truetype');
font-weight: bold;
font-style: normal;
}
@font-face {
font-family: 'samplefont';
src: url(data:font/truetype;charset=utf-8;base64,AAAE...) format('truetype');
font-weight: normal;
font-style: italic;
}
@font-face {
font-family: 'samplefont';
src: url(data:font/truetype;charset=utf-8;base64,AAAE...) format('truetype');
font-weight: bold;
font-style: italic;
}
あなたは何を意味しているのでしょうか? –
@James - 私は私が働いているもののコピーを投稿しました。 –