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

רקע

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

איך מערכת Lighthouse מזהה כשלים ב-bfcache

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

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

תהליכי שימוש

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

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

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

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

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

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

משאבים