Предварительная загрузка font-awesome

Я пытаюсь предварительно загрузить font-awesome, чтобы улучшить время загрузки моей страницы:

<link rel = "preload" as = "style" href = "//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css"/>
<link rel = "preload" as = "font" type = "font/woff2" href = "//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/fonts/fontawesome-webfont.woff2?v=4.3.0"/>

Однако ... Chrome, похоже, загружает шрифт дважды и сообщает

The resource http://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/fonts/fontawesome-webfont.woff2?v=4.3.0 was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it wasn't preloaded for nothing.

Предварительная загрузка font-awesome Как мне заставить это работать?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
18
0
31 974
4

Ответы 4

Вы необходимо добавить атрибут crossorigin при предварительной загрузке шрифтов.

    <link rel = "preload" as = "style" href = "//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css"/>
    <link rel = "preload" as = "font" type = "font/woff2" crossorigin href = "//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/fonts/fontawesome-webfont.woff2?v=4.3.0"/>

У меня это не сработало, я должен поместить стиль где-нибудь в папку приложения?

devssh 01.11.2018 09:48

Я попытался добавить crossorigin = "anonymous" и crossorigin в свою предварительную загрузку <link>, но предупреждение по-прежнему отображается.

Aaron Franke 05.01.2019 21:14

Вы используете этот шрифт?

Barry Pollard 05.01.2019 22:17

Наряду с пометкой ссылки как таблицы стилей предварительной загрузки с помощью rel = "preload" (что вы уже сделали) нам также необходимо использовать JavaScript для переключения атрибута rel на stylesheet при загрузке файла:

<link rel = "preload" as = "style" href = "//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" onload = "this.rel='stylesheet'"/>
<link rel = "preload" as = "font" type = "font/woff2" crossorigin href = "//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/fonts/fontawesome-webfont.woff2?v=4.3.0"/>

Что это значит? Как он отвечает на вопрос? Не просто выпаливайте код. Объяснись! stackoverflow.com/help/how-to-answer

Rob 30.11.2018 12:43

Попробуйте воспользоваться этим методом:

<style>
@font-face {
      font-family: 'FontAwesome-swap';
      font-display: swap;
      src: local('FontAwesome'), url(https:////maxcdn.bootstrapcdn.com/font-awesome/4.3.0/fonts/fontawesome-webfont.woff2?v=4.3.0) format('woff2');
    }
</style>

Хотя ответ, состоящий только из кода, действительно является ответом, небольшое объяснение (почему код OP не работает, какова общая идея вашего кода, важные моменты, предупреждения, ...) может сделать его ответом лучше.

lfurini 16.01.2019 18:34

В URL Max CDN есть несколько косых черт. Кроме того, значение swap не рекомендуется при использовании со шрифтами значков, так как в этом случае нет альтернативы.

Marcio Duarte 20.11.2019 20:01

Я использую несколько версий Font Awesome (обычный, жирный, светлый), поэтому я также использую swap. Если один обычный не загружается, свет будет действовать как запасной вариант.

Mario Nezmah 01.02.2021 13:35

Он может загружать его дважды из-за порядка, в котором вы выполняете предварительную загрузку.

<link rel = "preload" as = "font" type = "font/woff2" crossorigin href = "//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/fonts/fontawesome-webfont.woff2?v=4.3.0"/>
<link rel = "preload" as = "style" href = "//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" onload = "this.rel='stylesheet'"/>

Предварительно загрузите шрифт, чтобы css @ font-face больше не отправлял запрос на его загрузку.

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