Sprawdź, czy stronę można przywrócić z pamięci podręcznej stanu strony internetowej

Tło

Pamięć podręczna stanu strony internetowej (bfcache) przechowuje w pamięci zrzut strony na wypadek, gdyby trzeba było ją przywrócić z historii nawigacji. Dzięki temu wczytywanie strony powracającej jest znacznie szybsze, ale niektóre interfejsy API przeglądarki (np. odsłuchiwanie zdarzeń przy wylogowowaniu) mogą spowodować błąd w pamięci podręcznej stanu strony internetowej i strona zostanie załadowana normalnie.

Jak Lighthouse wykrywa błędy w pamięci podręcznej stanu strony

Samodzielne nawigacje

Po zakończeniu samodzielnej nawigacji Lighthouse przejdzie do innej strony i spróbuje przywrócić stronę z historii nawigacji, aby wykryć, czy jest używana pamięć podręczna bfcache.

Schematy działań użytkowników

Lighthouse nie będzie aktywnie testować bfcache w nawigacji podczas wykonywania przepływu danych użytkownika. Dzieje się tak, ponieważ przejście na inną stronę i powrót na nią na końcu każdej ścieżki nie odzwierciedla sposobu, w jaki użytkownicy korzystają z strony.

Nadal możesz jednak testować korzystanie z bfcache w trybie zakresu czasowego, uwzględniając nawigację po historii jako część ścieżki użytkownika. Na przykład:

const flow = await startFlow(page);

// This navigation will not test the bfcache
// because it is part of a user flow.
await flow.navigate('https://example.com');

// This timespan will try to restore the page from the bfcache.
// Problems restoring from the bfcache are surfaced in this report.
await flow.startTimespan();
await page.goto('https://example2.com');
await page.goBack();
await flow.endTimespan();

Informacje o błędach w pamięci podręcznej stanu strony internetowej

Jeśli z jakiegoś powodu nie uda się przywrócić strony z pamięci podręcznej stanu strony internetowej, kontrola zakończy się niepowodzeniem. Lighthouse poda wszystkie powody, dla których nie można było użyć bfcache, wraz z ramkami, które spowodowały problem. Przyczyny niepowodzenia mogą być 3 rodzaju:

  • Działania: aby włączyć buforowanie, możesz rozwiązać te problemy.
  • Oczekująca obsługa: Chrome nie obsługuje jeszcze tych funkcji, więc uniemożliwiają one buforowanie. Gdy jednak Chrome zacznie je obsługiwać, te ograniczenia zostaną usunięte.
  • Brak możliwości działania: tych problemów nie można rozwiązać na tej stronie. Zapisuje się w pamięci podręcznej.

Przykładowy wynik audytu pamięci podręcznej stanu strony internetowej

Zasoby