DOM에 액세스하여 페이지의 웹 글꼴로드시기를 어떻게 감지합니까?Base64로 인코딩 된 웹 글꼴의 "onload"를 감지하는 방법은 무엇입니까?
29 개의 .ttf 글꼴이 base64로 인코딩되어 단일 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 - 내가 작업 한 내용의 사본을 게시했습니다. –