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.