Как дождаться загрузки веб-шрифтов?

У меня есть элемент холста, который использует веб-шрифты. Даже если я использую метод jquery onload ($(function () {});), кажется, что шрифты все еще могут быть недоступны при запуске onload - иногда мой холст не отображает текст, а иногда он работает нормально.

В любом случае, я могу передать какой-то обратный вызов веб-шрифтам Google для запуска после загрузки всех шрифтов?


person TheOne    schedule 15.01.2013    source источник


Ответы (2)


Если вы встраиваете шрифты через «WebFont Loader» (используется Google и Typekit), вы можете подписаться на событие active. Он будет запущен после загрузки всех шрифтов.

Ознакомьтесь с документацией: https://developers.google.com/webfonts/docs/webfont_loader#Events

person philipproplesch    schedule 15.01.2013

Попробуйте использовать прослушиватель загрузки окна. Он сработает после загрузки графики, css, веб-шрифтов и т. д.

http://api.jquery.com/load-event/

Запустите функцию, когда страница полностью загружена, включая графику.

$(window).load(function() {
    //do something
});

http://jsfiddle.net/kwLf9/1/

person Robin Drexler    schedule 15.01.2013