Использование отображения шрифта при импорте url typekit

Я получаю предупреждение о скорости страниц,

Убедитесь, что текст остается видимым во время загрузки веб-шрифта

Я посмотрел на исправление этой проблемы, и люди онлайн сказали, чтобы убедиться, что блок объявления шрифта имеет font-display: fallback аргумент в этом, но я загружаю в свой шрифт через typekit, как это так

 @import url("https://use.typekit.net/111111.css");

Как я могу применить font-display: fallback аргумент к моему шрифту, когда он загружается с помощью вышеуказанного метода, чтобы перестать жаловаться на скорость страницы?

1 ответ

При использовании JS-версии typekit я придумал этот хак (имя моего шрифта - Proxima-nova):

(function () {
    if (typeof MutationObserver === 'undefined') {
        return;
    }
    var fixFontDisplay = function () {
        // inject font-display option into typekit fonts
        var styles = document.getElementsByTagName('style');
        for (var i = 0; i < styles.length; i++) {
            if (
                styles[i].innerText
                && styles[i].innerText.indexOf('proxima-nova') !== -1
                && styles[i].innerText.indexOf('@font-face{font-display:swap;') === -1
            ) {
                styles[i].innerText = styles[i].innerText
                        .split('@font-face{').join('@font-face{font-display:swap;');
            }
        }
    };
    var observer = new MutationObserver(function (mutationsList, observer) {
        for (var i = 0; i < mutationsList.length; i++) {
            fixFontDisplay();
        }
    });
    observer.observe(
        document.getElementsByTagName('head')[0],
        {attributes: false, childList: true, subtree: false}
    );
    window.fixFontObserver = observer;
})();

Вот некоторая информация об этом, которую я нашел, когда исправлял свой font-display для локально обслуживаемых шрифтов. В основном это говорит о том, что сегодня нет такого решения, так как Typekit контролирует @font-face это подано, но прочитайте статью.

https://css-tricks.com/font-display-masses/#article-header-id-4

Другие вопросы по тегам