Lesezeit: 4 Minuten
Gareth Jones
Ich lade eine Schriftart mit der <link>
HTML-Tag mit der rel Attribut gesetzt auf vorladen wie im folgenden Ausschnitt festgehalten;
<link rel="preload" href="https://stackoverflow.com/questions/49674092/fonts/32ADEO.woff2" as="font" type="font/woff2">
Während dies beim Laden der Schriftart wie erwartet funktioniert, wird sie erneut geladen.
Der Screenshot des Netzwerk-Tabs im Google Chrome-Browser zeigt das zweimalige Laden der Schriftart – siehe unten;

Außerdem erhalte ich die folgende Warnung auf der Registerkarte der Google Chrome-Browserkonsole.
Die Ressource https://example.com/new-v8/fonts/32A0E0.woff2 wurde mit Link Preload vorgeladen, aber nicht innerhalb weniger Sekunden nach dem Ladeereignis des Fensters verwendet. Bitte stellen Sie sicher, dass es einen angemessenen ‘as’-Wert hat und absichtlich vorgeladen ist.
Was mache ich falsch und wie kann ich es beheben?

Thomas Puppe
Ich erhalte immer wieder die Warnung, wenn ich versuche, eine Google-Schriftart vorzuladen.
Es stellte sich heraus, dass ich die Tatsache übersehen habe, dass die Schriftart als Stil von Google geladen wurde. Ich habe das gelöst, indem ich die eingestellt habe as="style'
und dann verwenden rel="stylesheet preload prefetch"
.
Siehe Codebeispiel unten:
<link
as="style"
rel="stylesheet preload prefetch"
href="https://fonts.googleapis.com/css2?family=Roboto:[email protected];400;500&display=swap"
type="text/css"
crossorigin="anonymous" />
Viel Spaß beim Codieren =)
Ich weiß nicht, ob ich etwas wiederöffne, das hier bereits gelöst wurde, aber ich wollte nur erwähnen, dass Sie die rel=”preload”-Links nach der Quelle platzieren müssen, die die Schriftarten lädt, z. B. die CSS-Datei.
In meinem Fall Wechsel zu rel="stylesheet preload"
funktionierte auf Chrome –
Hier ist das absolute Minimum HAT FUNKTIONIERT –
<link rel="stylesheet preload" href="path/to/stylesheet" as="style" />
Was FUNKTIONIERT NICHT war –
<link rel="preload" href="path/to/stylesheet" as="style" />
Ich bin auf dieses Problem mit einer selbst gehosteten Schriftart gestoßen. Ich habe es so vorgeladen:
<link rel="preload" href="/fonts/SomeFont.woff2" as="font" type="font/woff2" crossorigin>
Das Problem war, dass Webpack dem kompilierten CSS-Schriftartenpfad einen Hash hinzufügte.
/* Before */
@font-face {
font-family: "SomeFont";
src: url("../fonts/SomeFont.woff2") format("woff2");
}
/* After (Webpack Output) */
@font-face {
font-family: "SomeFont";
src: url("../fonts/SomeFont.woff2?7d18a001dd0b6e04c2393") format("woff2");
}
Also habe ich den gleichen Hash zum Preload-Tag hinzugefügt und das Problem gelöst!
<link rel="preload" href="/fonts/SomeFont.woff2?7d18a001dd0b6e04c2393" as="font" type="font/woff2" crossorigin>

Bileslaw
Ich hatte noch mehr Spaß. Zusätzlich zu dieser Warnung habe ich festgestellt, dass mein Browser beide herunterlädt woff
und woff2
obwohl es nur sollte woff2
. Ändern der Reihenfolge von src
Beschreibungen ein @font-face
half mir. Am Ende sieht die Lösung für mich in etwa so aus:
<link href="/assets/fira-sans-condensed-v5-max-regular.woff2" rel="preload" as="font" type="font/woff2" crossorigin>
<link href="/assets/bundle.css" rel="stylesheet">
@font-face
{
font-display: swap;
font-family: "Fira Sans Condensed";
font-style: normal;
font-weight: 400;
src: url("/assets/fira-sans-condensed-v5-max-regular.woff") format("woff");
src: url("/assets/fira-sans-condensed-v5-max-regular.woff2") format("woff2");
}
10136800cookie-checkFont mit rel preload vorladenyes
Ich habe die gleiche Meldung erhalten, wenn ich das Disqus-Plug-In aufgerufen habe: Die Ressource
https://c.disquscdn.com/next/embed/styles/lounge.188f59a1df04c219bf32da7f76545092.css was preloaded
Verwendung von Link Preload, aber nicht innerhalb weniger Sekunden nach dem Ladeereignis des Fensters verwendet. Bitte vergewissern Sie sich bitte, dass es eine geeignete hatas
Wert und es wird absichtlich vorgeladen.– eQ19
13. Mai 2018 um 4:24 Uhr
Zweck
preload
: “Angabe von Ressourcen, die Ihre Seite sehr bald benötigen wird und die Sie früh im Seitenlebenszyklus laden möchten, bevor die Haupt-Rendering-Maschinerie des Browsers einsetzt. Dadurch wird sichergestellt, dass sie früher verfügbar sind und die Darstellung der Seite mit geringerer Wahrscheinlichkeit blockieren, wodurch die Leistung verbessert wird .” developer.mozilla.org/en-US/docs/Web/HTML/Preloading_content– Benutzerbild
22. März 2021 um 21:37 Uhr