מוודאים שאפשר לשחזר את הדף מהמטמון לדף הקודם/הבא

רקע

במטמון לדף הקודם/הבא (bfcache) נשמרת תמונת מצב של הדף בזיכרון למועד שבו הדף ישוחזר מהיסטוריית הניווט. הפעולה הזו מזרזת משמעותית את הניווטים החוזרים לדף, אבל חלק מממשקי ה-API של הדפדפן (למשל רכיבי listener לביטול טעינה) עלולים לגרום לכשל של המטמון לדף הקודם/הבא והדף ייטען כרגיל.

איך מערכת Lighthouse מזהה כשלים במטמון לדף הקודם/הבא

ניווטים עצמאיים

בסיום ניווט עצמאי, מערכת Lighthouse תנווט אחרת ותנסה לשחזר את הדף מהיסטוריית הניווט כדי לזהות אם נעשה שימוש במטמון לדף הקודם/הבא.

מסלולי המשתמש

מערכת Lighthouse לא תבדוק באופן פעיל את המטמון לדף הקודם/הבא בניווט בזמן הרצת תהליך משתמש. הסיבה לכך היא שיציאה מהדף וחזרה לדף בסוף כל ניווט לא משקפת את רוב חוויות המשתמשים בדף.

עם זאת, עדיין אפשר לבדוק את השימוש במטמון לדף הקודם/הבא במצב טווח זמן על ידי הכללת ניווט בהיסטוריה כחלק מהתהליך שעובר המשתמש. לדוגמה:

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();

הסבר על כשלים במטמון לדף הקודם/הבא

אם לא ניתן לשחזר את הדף מהמטמון לדף הקודם/הבא מסיבה כלשהי, הביקורת תיכשל. ב-Lighthouse יפורטו כל הסיבות לכך שלא ניתן היה להשתמש במטמון לדף הקודם/הבא, יחד עם המסגרות שגרמו לבעיה. יש שלושה סוגים של סיבות לכישלון:

  • מעשי: אפשר לפתור את הבעיות האלה כדי להפעיל שמירה במטמון.
  • תמיכה בהמתנה: Chrome עדיין לא תומך בתכונות האלה, ולכן הן מונעות שמירה במטמון. עם זאת, לאחר התמיכה ב-Chrome, המגבלות האלה יוסרו.
  • לא ניתן לביצוע: לא ניתן לתקן את הבעיות האלה בדף זה. משהו שאינו בשליטת הדף מונע שמירה במטמון.

תוצאה לדוגמה מבדיקה של מטמון לדף הקודם/הבא של Lighthouse

מקורות מידע