ตรวจสอบว่ากู้คืนหน้าจาก Back-Forward Cache ได้
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
ที่มา
Back-Forward Cache (bfcache) จะเก็บสแนปชอตของหน้าไว้ในหน่วยความจำเมื่อกู้คืนหน้าจากประวัติการนำทาง วิธีนี้ทำให้การกลับไปยังหน้าเว็บเร็วขึ้นอย่างมาก อย่างไรก็ตาม API ของเบราว์เซอร์บางรายการ (เช่น ยกเลิกการโหลด Listener) อาจทำให้ bfcache ล้มเหลวและหน้าเว็บจะโหลดตามปกติ
Lighthouse ตรวจพบความล้มเหลวของ bfcache ได้อย่างไร
การนำทางแบบสแตนด์อโลน
เมื่อสิ้นสุดการนำทางแบบสแตนด์อโลน Lighthouse จะออกไปและพยายามกู้คืนหน้าจากประวัติการนำทางเพื่อตรวจสอบว่ามีการใช้ bfcache อยู่หรือไม่
ขั้นตอนของผู้ใช้
ข้อควรระวัง: Puppeteer ปิดใช้ bfcache โดยค่าเริ่มต้นเนื่องจากข้อบกพร่องที่หน้าเว็บค้าง สคริปต์ Puppeteer จะไม่คืนค่าหน้าจาก bfcache แม้ว่าผู้ใช้จริงจะเห็นหน้าเว็บที่กู้คืนจาก 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
หากกู้คืนหน้าเว็บจาก bfcache ไม่ได้ไม่ว่าด้วยเหตุผลใดก็ตาม การตรวจสอบจะล้มเหลว Lighthouse จะแสดงสาเหตุที่ใช้ bfcache ไม่ได้ รวมถึงเฟรมที่ทำให้เกิดปัญหา สาเหตุที่ดำเนินการไม่สำเร็จอาจเป็น 1 ใน 3 ประเภทต่อไปนี้
ดำเนินการได้ : คุณแก้ไขปัญหาเหล่านี้เพื่อเปิดใช้การแคชได้
รอการสนับสนุน : Chrome ยังไม่รองรับฟีเจอร์เหล่านี้ จึงป้องกันการแคช แต่เมื่อมีการสนับสนุนแล้ว Chrome จะนำข้อจำกัดเหล่านี้ออก
ดำเนินการไม่ได้ : คุณแก้ไขปัญหาเหล่านี้ในหน้านี้ไม่ได้ บางอย่างที่อยู่นอกเหนือการควบคุมของหน้าป้องกันการแคช
แหล่งข้อมูล
เนื้อหาของหน้าเว็บนี้ได้รับอนุญาตภายใต้ใบอนุญาตที่ต้องระบุที่มาของครีเอทีฟคอมมอนส์ 4.0 และตัวอย่างโค้ดได้รับอนุญาตภายใต้ใบอนุญาต Apache 2.0 เว้นแต่จะระบุไว้เป็นอย่างอื่น โปรดดูรายละเอียดที่นโยบายเว็บไซต์ Google Developers Java เป็นเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2023-01-12 UTC
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"ไม่มีข้อมูลที่ฉันต้องการ"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"ซับซ้อนเกินไป/มีหลายขั้นตอนมากเกินไป"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"ล้าสมัย"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"ปัญหาเกี่ยวกับการแปล"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"ตัวอย่าง/ปัญหาเกี่ยวกับโค้ด"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"อื่นๆ"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"เข้าใจง่าย"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"แก้ปัญหาของฉันได้"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"อื่นๆ"
}]
{"lastModified": "\u0e2d\u0e31\u0e1b\u0e40\u0e14\u0e15\u0e25\u0e48\u0e32\u0e2a\u0e38\u0e14 2023-01-12 UTC"}
[[["เข้าใจง่าย","easyToUnderstand","thumb-up"],["แก้ปัญหาของฉันได้","solvedMyProblem","thumb-up"],["อื่นๆ","otherUp","thumb-up"]],[["ไม่มีข้อมูลที่ฉันต้องการ","missingTheInformationINeed","thumb-down"],["ซับซ้อนเกินไป/มีหลายขั้นตอนมากเกินไป","tooComplicatedTooManySteps","thumb-down"],["ล้าสมัย","outOfDate","thumb-down"],["ปัญหาเกี่ยวกับการแปล","translationIssue","thumb-down"],["ตัวอย่าง/ปัญหาเกี่ยวกับโค้ด","samplesCodeIssue","thumb-down"],["อื่นๆ","otherDown","thumb-down"]],["อัปเดตล่าสุด 2023-01-12 UTC"]]