Hintergrund
Der Back-Forward-Cache (bfcache) speichert einen Snapshot der Seite im Arbeitsspeicher, für den Fall, dass die Seite aus dem Navigationsverlauf wiederhergestellt wird. Dies beschleunigt die Rücknavigation zur Seite erheblich. Einige Browser-APIs (z. B. Unload-Listener) können jedoch dazu führen, dass der bfcache fehlschlägt und die Seite normal geladen wird.
So erkennt Lighthouse bfcache-Fehler
Eigenständige Navigation
Am Ende einer eigenständigen Navigation versucht Lighthouse, die Seite aus dem Navigationsverlauf wiederherzustellen, um festzustellen, ob der bfcache verwendet wird.
Abläufe für Nutzer
Lighthouse testet den bfcache bei der Navigation nicht aktiv, wenn ein Nutzerfluss ausgeführt wird. Das liegt daran, dass das Verlassen der Seite und zurück zur Seite am Ende jeder Navigation nicht die meisten User Experiences auf der Seite widerspiegelt.
Sie können die bfcache-Nutzung jedoch im Zeitspannemodus testen, indem Sie die Navigationsleiste im Verlauf als Teil der User Journey einbinden. Beispiel:
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();
bfcache-Fehler
Wenn die Seite aus irgendeinem Grund nicht aus dem bfcache wiederhergestellt werden konnte, schlägt die Prüfung fehl. Lighthouse zeigt alle Gründe an, warum der bfcache nicht verwendet werden konnte, sowie die Frames, die das Problem verursacht haben. Es gibt drei Arten von Fehlern:
- Umsetzbar: Sie können diese Probleme beheben, um das Caching zu aktivieren.
- Ausstehende Unterstützung: Diese Funktionen werden in Chrome noch nicht unterstützt und verhindern daher das Caching. Sobald die Unterstützung erfolgt, werden diese Einschränkungen in Chrome aufgehoben.
- Nicht behebbar: Diese Probleme können auf dieser Seite nicht behoben werden. Etwas, das sich außerhalb der Kontrolle der Seite befindet, verhindert Caching.