Ładuj wstępnie czcionki internetowe, by przyspieszyć wczytywanie

Z tego ćwiczenia w Codelabs dowiesz się, jak wstępnie wczytywać czcionki internetowe za pomocą narzędzia rel="preload" do usuwania dowolne błyski niesformatowanego tekstu (FOUT).

Zmierz odległość

Zanim wprowadzisz optymalizacje, najpierw zmierz skuteczność strony.

  1. Aby wyświetlić podgląd strony, kliknij Wyświetl aplikację. Następnie naciśnij Pełny ekran pełny ekran
  2. Naciśnij „Control + Shift + J” (lub „Command + Option + J” na Macu), aby otworzyć Narzędzia deweloperskie.
  3. Kliknij kartę Lighthouse.
  4. Upewnij się, że na liście Kategorie zaznaczone jest pole wyboru Skuteczność.
  5. Kliknij przycisk Wygeneruj raport.

W wygenerowanym raporcie Lighthouse będzie widoczna sekwencja pobierania zasobów w sekcji Maksymalny czas oczekiwania ścieżki krytycznej.

Czcionki internetowe znajdują się w krytycznym łańcuchu żądań.

W powyższym audycie czcionki internetowe wchodzą w skład krytycznego łańcucha żądań i są pobierane jako ostatnie. Łańcuch krytycznych żądań przedstawia kolejność zasobów, które są traktowane priorytetowo i pobierane przez przeglądarkę. W tej aplikacji czcionki internetowe (Pacfico i Pacifico-Bold) są definiowane za pomocą reguły @font-face i jako ostatni zasób pobierany przez przeglądarkę w łańcuchu żądań krytycznych. Czcionki internetowe są zwykle leniwe, co oznacza, że są wczytywane dopiero po pobraniu kluczowych zasobów (CSS, JS).

Oto sekwencja zasobów pobranych do aplikacji:

Czcionki internetowe są ładowane leniwie.

Wstępne wczytywanie czcionek internetowych

Aby uniknąć FOUT, możesz wstępnie załadować czcionki internetowe, które są wymagane natychmiast. Dodaj element Link dla tej aplikacji w nagłówku dokumentu:

<head>
 <!-- ... -->
 <link rel="preload" href="/assets/Pacifico-Bold.woff2" as="font" type="font/woff2" crossorigin>
</head>

Atrybuty as="font" type="font/woff2" informują przeglądarkę, aby pobrać dany zasób jako czcionkę, i pomaga określić priorytety kolejki zasobów.

Atrybut crossorigin wskazuje, czy zasób powinien zostać pobrany za pomocą żądania CORS, ponieważ czcionka może pochodzić z innej domeny. Bez tego atrybutu wstępnie wczytywana czcionka jest ignorowana przez przeglądarkę.

W nagłówku strony znajduje się tag Pacifico-Bold, więc dodaliśmy tag wstępnego wczytywania, by pobrać ją jeszcze szybciej. Nie ma potrzeby wstępnego wczytywania czcionki Pacifico.woff2, ponieważ określa ona styl tekstu w części strony widocznej po przewinięciu.

Załaduj ponownie aplikację i jeszcze raz uruchom latarnię morską. Sprawdź sekcję Maksymalny czas oczekiwania ścieżki krytycznej.

Czcionka internetowa Pacifico-Bold jest wstępnie wczytana i usunięta z łańcucha żądań

Zwróć uwagę, jak obiekt Pacifico-Bold.woff2 jest usuwany z krytycznego łańcucha żądań. Jest on pobierany wcześniej w aplikacji.

Czcionka internetowa Pacifico-Bold jest wstępnie wczytana

W przypadku wstępnego wczytywania przeglądarka wie, że musi pobrać plik wcześniej. Pamiętaj, że jeśli nie jest używane prawidłowo, wstępne wczytywanie może pogorszyć wydajność przez wysyłanie zbędnych żądań do nieużywanych zasobów.