refresh date: 2026-09-25 robots: noindex
คำอธิบาย
ใช้ chrome.webNavigation API เพื่อรับการแจ้งเตือนเกี่ยวกับสถานะของคำขอการนำทางระหว่างการเดินทาง
สิทธิ์
webNavigationไฟล์ Manifest
chrome.webNavigationเมธอดและเหตุการณ์ทั้งหมดกำหนดให้คุณต้องประกาศสิทธิ์ "webNavigation"
ในไฟล์ Manifest ของส่วนขยาย เช่น
{
"name": "My extension",
...
"permissions": [
"webNavigation"
],
...
}
ลำดับเหตุการณ์
สำหรับการนำทางที่เสร็จสมบูรณ์ ระบบจะทริกเกอร์เหตุการณ์ตามลำดับต่อไปนี้
onBeforeNavigate -> onCommitted -> [onDOMContentLoaded] -> onCompleted
ข้อผิดพลาดที่เกิดขึ้นระหว่างกระบวนการจะส่งผลให้เกิดเหตุการณ์ onErrorOccurred สำหรับการนำทางที่เฉพาะเจาะจง ระบบจะไม่ทริกเกอร์เหตุการณ์เพิ่มเติมหลังจาก onErrorOccurred
หากเฟรมที่ไปยังมีเฟรมย่อย ระบบจะเรียกใช้ onCommitted ก่อน ของเฟรมย่อย
onBeforeNavigate และจะเรียกใช้ onCompleted หลังจาก onCompleted ของเฟรมย่อยทั้งหมด
หากมีการเปลี่ยนแปลงส่วนอ้างอิงของเฟรม ระบบจะทริกเกอร์onReferenceFragmentUpdated event เหตุการณ์นี้จะทริกเกอร์ได้ทุกเมื่อหลังจาก onDOMContentLoaded แม้หลังจาก onCompleted แล้วก็ตาม
หากใช้ History API เพื่อแก้ไขสถานะของเฟรม (เช่น ใช้ history.pushState()) ระบบจะทริกเกอร์เหตุการณ์
onHistoryStateUpdated เหตุการณ์นี้จะทริกเกอร์ได้ทุกเมื่อหลังจาก onDOMContentLoaded
หากการไปยังส่วนต่างๆ กู้คืนหน้าจาก Back-Forward Cache เหตุการณ์ onDOMContentLoaded จะไม่ทริกเกอร์
ระบบจะไม่ทริกเกอร์เหตุการณ์เนื่องจากเนื้อหาโหลดเสร็จแล้วเมื่อเข้าชมหน้าเว็บครั้งแรก
หากทริกเกอร์การไปยังส่วนต่างๆ ผ่าน Chrome Instant หรือ Instant Pages ระบบจะสลับหน้าเว็บที่โหลดเสร็จสมบูรณ์
แล้วไปยังแท็บปัจจุบัน ในกรณีนี้ ระบบจะทริกเกอร์เหตุการณ์ onTabReplaced
ความสัมพันธ์กับเหตุการณ์ webRequest
ไม่มีการกำหนดลำดับระหว่างเหตุการณ์ของ webRequest API กับเหตุการณ์ของ webNavigation API เป็นไปได้ว่าระบบจะยังคงได้รับเหตุการณ์ webRequest สำหรับเฟรมที่เริ่มการนำทางใหม่แล้ว หรือการนำทางจะดำเนินการต่อหลังจากที่โหลดทรัพยากรเครือข่ายเสร็จสมบูรณ์แล้วเท่านั้น
โดยทั่วไป เหตุการณ์ webNavigation จะเกี่ยวข้องอย่างใกล้ชิดกับสถานะการนำทางที่แสดง ใน UI ขณะที่เหตุการณ์ webRequest จะสอดคล้องกับสถานะของสแต็กเครือข่ายซึ่งโดยทั่วไป ผู้ใช้จะมองไม่เห็น
รหัสแท็บ
แท็บที่นำทางบางแท็บอาจไม่ตรงกับแท็บจริงใน UI ของ Chrome เช่น แท็บที่กำลัง
แสดงผลล่วงหน้า คุณจะเข้าถึงแท็บดังกล่าวผ่าน API ของแท็บไม่ได้ และขอข้อมูลเกี่ยวกับแท็บดังกล่าวผ่าน webNavigation.getFrame หรือ webNavigation.getAllFrames ไม่ได้ เมื่อมีการสลับแท็บดังกล่าว
เข้ามา ระบบจะทริกเกอร์onTabReplacedเหตุการณ์และเข้าถึงแท็บเหล่านั้นได้ผ่าน API เหล่านี้
การประทับเวลา
โปรดทราบว่าความผิดปกติทางเทคนิคบางอย่างในการจัดการกระบวนการ Chrome ที่แตกต่างกันของระบบปฏิบัติการอาจทำให้นาฬิกาในเบราว์เซอร์เองและกระบวนการของส่วนขยายไม่ตรงกัน ซึ่งหมายความว่าระบบรับประกันได้ว่าพร็อพเพอร์ตี้ timeStamp ของเหตุการณ์ WebNavigation จะสอดคล้องกันภายในเท่านั้น
การเปรียบเทียบเหตุการณ์หนึ่งกับอีกเหตุการณ์หนึ่งจะทําให้คุณทราบออฟเซ็ตที่ถูกต้องระหว่างเหตุการณ์เหล่านั้น แต่
การเปรียบเทียบกับเวลาปัจจุบันภายในส่วนขยาย (เช่น ผ่าน (new Date()).getTime())
อาจให้ผลลัพธ์ที่ไม่คาดคิด
รหัสเฟรม
คุณระบุเฟรมภายในแท็บได้โดยใช้รหัสเฟรม รหัสเฟรมของเฟรมหลักจะเป็น 0 เสมอ ส่วนรหัสของเฟรมย่อยจะเป็นตัวเลขบวก เมื่อสร้างเอกสารในเฟรมแล้ว รหัสเฟรม จะยังคงเดิมตลอดอายุการใช้งานของเอกสาร ตั้งแต่ Chrome 49 เป็นต้นไป รหัสนี้จะคงที่ตลอดอายุการใช้งานของเฟรม (ในการนำทางหลายครั้ง)
เนื่องจากลักษณะการทำงานแบบหลายกระบวนการของ Chrome แท็บอาจใช้กระบวนการที่แตกต่างกันในการแสดงผลแหล่งที่มา
และปลายทางของหน้าเว็บ ดังนั้น หากการนําทางเกิดขึ้นในกระบวนการใหม่ คุณอาจได้รับเหตุการณ์จากทั้งหน้าเว็บใหม่และหน้าเว็บเก่าจนกว่าจะมีการยืนยันการนําทางใหม่ (กล่าวคือ ระบบจะส่งเหตุการณ์ onCommitted สําหรับเฟรมหลักใหม่) กล่าวคือ คุณอาจมีลำดับเหตุการณ์ webNavigation ที่รอดำเนินการมากกว่า 1 รายการที่มี frameId เดียวกัน โดยคุณจะแยกแยะลำดับได้ด้วยprocessId
นอกจากนี้ โปรดทราบว่าในระหว่างการโหลดชั่วคราว กระบวนการอาจเปลี่ยนไปหลายครั้ง ซึ่งจะเกิดขึ้นเมื่อมีการเปลี่ยนเส้นทางการโหลดไปยังเว็บไซต์อื่น ในกรณีนี้ คุณจะได้รับเหตุการณ์ onBeforeNavigate และ onErrorOccurred ซ้ำๆ จนกว่าจะได้รับเหตุการณ์ onCommitted สุดท้าย
อีกแนวคิดหนึ่งที่ทำให้เกิดปัญหาเกี่ยวกับส่วนขยายคือวงจรของเฟรม เฟรมจะโฮสต์เอกสาร (ซึ่งเชื่อมโยงกับ URL ที่คอมมิตแล้ว) เอกสารอาจเปลี่ยนแปลงได้ (เช่น โดยการไปยังส่วนต่างๆ) แต่ frameId จะไม่เปลี่ยนแปลง ดังนั้นจึง เชื่อมโยงเหตุการณ์ที่เกิดขึ้นในเอกสารหนึ่งๆ กับ frameId เพียงอย่างเดียวได้ยาก เราขอแนะนำแนวคิดเกี่ยวกับ documentId ซึ่งเป็นตัวระบุที่ไม่ซ้ำกันต่อเอกสาร หากมีการไปยังเฟรมและเปิด เอกสารใหม่ ตัวระบุจะเปลี่ยนไป ฟิลด์นี้มีประโยชน์ในการพิจารณา เมื่อหน้าเว็บเปลี่ยนสถานะวงจร (ระหว่างสถานะแสดงตัวอย่างล่วงหน้า/ใช้งานอยู่/แคช) เนื่องจากยังคงเหมือนเดิม
ประเภทการเปลี่ยนและตัวระบุ
เหตุการณ์ onCommitted ของ WebNavigation API มีพร็อพเพอร์ตี้ transitionType และ transitionQualifiers
ประเภทการเปลี่ยนเส้นทางจะเหมือนกับที่ใช้ใน History API ซึ่งอธิบายวิธีที่เบราว์เซอร์ไปยัง URL นี้ นอกจากนี้ ยังสามารถแสดงตัวระบุการเปลี่ยนผ่านหลายรายการ
ซึ่งจะกำหนดการนำทางเพิ่มเติมได้
คุณสมบัติในการเปลี่ยนรุ่นมีดังนี้
| ตัวระบุการเปลี่ยน | คำอธิบาย |
|---|---|
| "client_redirect" | การเปลี่ยนเส้นทางอย่างน้อย 1 รายการที่เกิดจากแท็ก JavaScript หรือแท็กการรีเฟรชเมตาในหน้าเว็บเกิดขึ้นระหว่างการนำทาง |
| "server_redirect" | การเปลี่ยนเส้นทางอย่างน้อย 1 รายการที่เกิดจากส่วนหัว HTTP ที่ส่งจากเซิร์ฟเวอร์เกิดขึ้นระหว่างการนำทาง |
| "forward_back" | ผู้ใช้ใช้ปุ่มไปข้างหน้าหรือปุ่มย้อนกลับเพื่อเริ่มการไปยังส่วนต่างๆ |
| "from_address_bar" | ผู้ใช้เริ่มการนำทางจากแถบที่อยู่ (หรือที่เรียกว่าแถบอเนกประสงค์) |
ตัวอย่าง
หากต้องการลองใช้ API นี้ ให้ติดตั้งตัวอย่าง API การนำทางบนเว็บจากที่เก็บ chrome-extension-samples
ประเภท
TransitionQualifier
ค่าแจกแจง
"client_redirect"
"server_redirect"
"forward_back"
"from_address_bar"
TransitionType
สาเหตุของการนำทาง ใช้การเปลี่ยนประเภทเดียวกันตามที่กำหนดไว้ใน History API ซึ่งเป็นประเภทการเปลี่ยนเส้นทางเดียวกันกับที่กำหนดไว้ใน History API ยกเว้นว่ามี "start_page" แทน "auto_toplevel" (เพื่อความเข้ากันได้แบบย้อนกลับ)
ค่าแจกแจง
"ลิงก์"
"พิมพ์"
"auto_bookmark"
"auto_subframe"
"manual_subframe"
"สร้างขึ้น"
"start_page"
"form_submit"
"reload"
"คีย์เวิร์ด"
"keyword_generated"
เมธอด
getAllFrames()
chrome.webNavigation.getAllFrames(
details: object,
callback?: function,
): Promise<object[] | undefined>
เรียกข้อมูลเกี่ยวกับเฟรมทั้งหมดของแท็บที่ระบุ
พารามิเตอร์
-
รายละเอียด
ออบเจ็กต์
ข้อมูลเกี่ยวกับแท็บที่จะดึงเฟรมทั้งหมดจาก
-
tabId
ตัวเลข
รหัสของแท็บ
-
-
callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callbackมีลักษณะดังนี้(details?: object[]) => void
-
รายละเอียด
object[] ไม่บังคับ
รายการเฟรมในแท็บที่ระบุ หรือ null หากรหัสแท็บที่ระบุไม่ถูกต้อง
-
documentId
สตริง
Chrome 106 ขึ้นไปUUID ของเอกสารที่โหลด
-
documentLifecycleChrome 106 ขึ้นไป
วงจรที่เอกสารอยู่
-
errorOccurred
บูลีน
เป็นจริงหากการนำทางครั้งล่าสุดในเฟรมนี้ถูกขัดจังหวะเนื่องจากข้อผิดพลาด เช่น เหตุการณ์ onErrorOccurred ทำงาน
-
frameId
ตัวเลข
รหัสของเฟรม 0 หมายความว่านี่คือเฟรมหลัก ส่วนค่าบวกหมายถึงรหัสของเฟรมย่อย
-
frameTypeChrome 106 ขึ้นไป
ประเภทเฟรมที่มีการนำทาง
-
parentDocumentId
สตริง ไม่บังคับ
Chrome 106 ขึ้นไปUUID ของเอกสารหลักที่เป็นเจ้าของเฟรมนี้ ไม่ได้ตั้งค่าหากไม่มีองค์กรหลัก
-
parentFrameId
ตัวเลข
รหัสของเฟรมหลัก หรือ
-1หากเป็นเฟรมหลัก -
processId
ตัวเลข
รหัสของกระบวนการที่เรียกใช้โปรแกรมแสดงผลสำหรับเฟรมนี้
-
URL
สตริง
URL ที่เชื่อมโยงกับเฟรมนี้ในปัจจุบัน
-
-
การคืนสินค้า
-
Promise<object[] | undefined>
Chrome 93 ขึ้นไประบบรองรับเฉพาะ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
getFrame()
chrome.webNavigation.getFrame(
details: object,
callback?: function,
): Promise<object | undefined>
เรียกข้อมูลเกี่ยวกับเฟรมที่ระบุ เฟรมหมายถึง <iframe> หรือ <frame> ของหน้าเว็บ และระบุด้วยรหัสแท็บและรหัสเฟรม
พารามิเตอร์
-
รายละเอียด
ออบเจ็กต์
ข้อมูลเกี่ยวกับเฟรมที่จะดึงข้อมูล
-
documentId
สตริง ไม่บังคับ
Chrome 106 ขึ้นไปUUID ของเอกสาร หากมีการระบุ frameId และ/หรือ tabId ระบบจะตรวจสอบว่าตรงกับเอกสารที่พบตามรหัสเอกสารที่ระบุหรือไม่
-
frameId
หมายเลข ไม่บังคับ
รหัสของเฟรมในแท็บที่ระบุ
-
processId
หมายเลข ไม่บังคับ
เลิกใช้งานตั้งแต่ Chrome 49ตอนนี้เฟรมจะระบุค่าเฉพาะด้วยรหัสแท็บและรหัสเฟรม ไม่จำเป็นต้องใช้รหัสกระบวนการอีกต่อไปและระบบจะละเว้นรหัสกระบวนการ
รหัสของกระบวนการที่เรียกใช้โปรแกรมแสดงผลสำหรับแท็บนี้
-
tabId
หมายเลข ไม่บังคับ
รหัสของแท็บที่มีเฟรม
-
-
callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callbackมีลักษณะดังนี้(details?: object) => void
-
รายละเอียด
ออบเจ็กต์ ไม่บังคับ
ข้อมูลเกี่ยวกับเฟรมที่ขอ หรือ null หากรหัสเฟรมและ/หรือรหัสแท็บที่ระบุไม่ถูกต้อง
-
documentId
สตริง
Chrome 106 ขึ้นไปUUID ของเอกสารที่โหลด
-
documentLifecycleChrome 106 ขึ้นไป
วงจรที่เอกสารอยู่
-
errorOccurred
บูลีน
เป็นจริงหากการนำทางครั้งล่าสุดในเฟรมนี้ถูกขัดจังหวะเนื่องจากข้อผิดพลาด เช่น เหตุการณ์ onErrorOccurred ทำงาน
-
frameTypeChrome 106 ขึ้นไป
ประเภทเฟรมที่มีการนำทาง
-
parentDocumentId
สตริง ไม่บังคับ
Chrome 106 ขึ้นไปUUID ของเอกสารหลักที่เป็นเจ้าของเฟรมนี้ ไม่ได้ตั้งค่าหากไม่มีองค์กรหลัก
-
parentFrameId
ตัวเลข
รหัสของเฟรมหลัก หรือ
-1หากเป็นเฟรมหลัก -
URL
สตริง
URL ที่เชื่อมโยงกับเฟรมนี้ในปัจจุบัน หากเฟรมที่ระบุโดย frameId เคยมีอยู่ในแท็บที่ระบุ การที่ URL เชื่อมโยงกับ frameId ที่ระบุไม่ได้หมายความว่าเฟรมที่เกี่ยวข้องยังคงมีอยู่
-
-
การคืนสินค้า
-
Promise<object | undefined>
Chrome 93 ขึ้นไประบบรองรับเฉพาะ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ
กิจกรรม
onBeforeNavigate
chrome.webNavigation.onBeforeNavigate.addListener(
callback: function,
filters?: object,
)
ทริกเกอร์เมื่อกำลังจะเกิดการนำทาง
พารามิเตอร์
-
ฟังก์ชัน
พารามิเตอร์
callbackมีลักษณะดังนี้(details: object) => void
-
ออบเจ็กต์
-
Chrome 106 ขึ้นไป
วงจรที่เอกสารอยู่
-
ตัวเลข
0 หมายความว่าการนำทางเกิดขึ้นในหน้าต่างเนื้อหาของแท็บ ส่วนค่าบวกหมายความว่าการนำทางเกิดขึ้นในเฟรมย่อย รหัสเฟรมจะไม่ซ้ำกันสำหรับแท็บและกระบวนการที่กำหนด
-
Chrome 106 ขึ้นไป
ประเภทเฟรมที่มีการนำทาง
-
สตริง ไม่บังคับ
Chrome 106 ขึ้นไปUUID ของเอกสารหลักที่เป็นเจ้าของเฟรมนี้ ไม่ได้ตั้งค่าหากไม่มีองค์กรหลัก
-
ตัวเลข
รหัสของเฟรมหลัก หรือ
-1หากเป็นเฟรมหลัก -
ตัวเลข
เลิกใช้งานตั้งแต่ Chrome 50ระบบจะไม่ตั้งค่า processId สำหรับเหตุการณ์นี้อีกต่อไป เนื่องจากไม่ทราบกระบวนการที่จะแสดงเอกสารผลลัพธ์จนกว่าจะถึง onCommit
ค่า -1
-
ตัวเลข
รหัสของแท็บที่จะเกิดการนำทาง
-
ตัวเลข
เวลาที่เบราว์เซอร์กำลังจะเริ่มการนำทาง หน่วยเป็นมิลลิวินาทีที่เริ่มนับมาตั้งแต่วันที่ 1 มกราคม ค.ศ. 1970
-
สตริง
-
-
-
ออบเจ็กต์ ไม่บังคับ
-
เงื่อนไขที่ URL ที่กำลังไปยังต้องเป็นไปตาม ระบบจะไม่สนใจฟิลด์ "schemes" และ "ports" ของ UrlFilter สำหรับเหตุการณ์นี้
-
onCommitted
chrome.webNavigation.onCommitted.addListener(
callback: function,
filters?: object,
)
เริ่มทำงานเมื่อมีการนำทาง เอกสาร (และทรัพยากรที่เอกสารอ้างอิงถึง เช่น รูปภาพและเฟรมย่อย) อาจยังคงดาวน์โหลดอยู่ แต่ระบบได้รับเอกสารอย่างน้อยบางส่วนจากเซิร์ฟเวอร์แล้ว และเบราว์เซอร์ตัดสินใจที่จะเปลี่ยนไปใช้เอกสารใหม่
พารามิเตอร์
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackมีลักษณะดังนี้(details: object) => void
-
รายละเอียด
ออบเจ็กต์
-
documentId
สตริง
Chrome 106 ขึ้นไปUUID ของเอกสารที่โหลด
-
documentLifecycleChrome 106 ขึ้นไป
วงจรที่เอกสารอยู่
-
frameId
ตัวเลข
0 หมายความว่าการนำทางเกิดขึ้นในหน้าต่างเนื้อหาของแท็บ ส่วนค่าบวกหมายความว่าการนำทางเกิดขึ้นในเฟรมย่อย รหัสเฟรมจะไม่ซ้ำกันภายในแท็บ
-
frameTypeChrome 106 ขึ้นไป
ประเภทเฟรมที่มีการนำทาง
-
parentDocumentId
สตริง ไม่บังคับ
Chrome 106 ขึ้นไปUUID ของเอกสารหลักที่เป็นเจ้าของเฟรมนี้ ไม่ได้ตั้งค่าหากไม่มีองค์กรหลัก
-
parentFrameId
ตัวเลข
Chrome 74 ขึ้นไปรหัสของเฟรมหลัก หรือ
-1หากเป็นเฟรมหลัก -
processId
ตัวเลข
รหัสของกระบวนการที่เรียกใช้โปรแกรมแสดงผลสำหรับเฟรมนี้
-
tabId
ตัวเลข
รหัสของแท็บที่มีการไปยังส่วนต่างๆ
-
timeStamp
ตัวเลข
เวลาที่การนำทางได้รับการยืนยัน หน่วยเป็นมิลลิวินาทีตั้งแต่ Epoch
-
transitionQualifiers
รายการตัวระบุการเปลี่ยน
-
transitionType
สาเหตุของการนำทาง
-
URL
สตริง
-
-
-
ตัวกรอง
ออบเจ็กต์ ไม่บังคับ
-
URL
เงื่อนไขที่ URL ที่กำลังไปยังต้องเป็นไปตาม ระบบจะไม่สนใจฟิลด์ "schemes" และ "ports" ของ UrlFilter สำหรับเหตุการณ์นี้
-
onCompleted
chrome.webNavigation.onCompleted.addListener(
callback: function,
filters?: object,
)
ทริกเกอร์เมื่อโหลดและเริ่มต้นเอกสาร รวมถึงทรัพยากรที่เอกสารอ้างอิงถึงอย่างสมบูรณ์
พารามิเตอร์
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackมีลักษณะดังนี้(details: object) => void
-
รายละเอียด
ออบเจ็กต์
-
documentId
สตริง
Chrome 106 ขึ้นไปUUID ของเอกสารที่โหลด
-
documentLifecycleChrome 106 ขึ้นไป
วงจรที่เอกสารอยู่
-
frameId
ตัวเลข
0 หมายความว่าการนำทางเกิดขึ้นในหน้าต่างเนื้อหาของแท็บ ส่วนค่าบวกหมายความว่าการนำทางเกิดขึ้นในเฟรมย่อย รหัสเฟรมจะไม่ซ้ำกันภายในแท็บ
-
frameTypeChrome 106 ขึ้นไป
ประเภทเฟรมที่มีการนำทาง
-
parentDocumentId
สตริง ไม่บังคับ
Chrome 106 ขึ้นไปUUID ของเอกสารหลักที่เป็นเจ้าของเฟรมนี้ ไม่ได้ตั้งค่าหากไม่มีองค์กรหลัก
-
parentFrameId
ตัวเลข
Chrome 74 ขึ้นไปรหัสของเฟรมหลัก หรือ
-1หากเป็นเฟรมหลัก -
processId
ตัวเลข
รหัสของกระบวนการที่เรียกใช้โปรแกรมแสดงผลสำหรับเฟรมนี้
-
tabId
ตัวเลข
รหัสของแท็บที่มีการไปยังส่วนต่างๆ
-
timeStamp
ตัวเลข
เวลาที่เอกสารโหลดเสร็จสมบูรณ์ หน่วยเป็นมิลลิวินาทีตั้งแต่ Epoch
-
URL
สตริง
-
-
-
ตัวกรอง
ออบเจ็กต์ ไม่บังคับ
-
URL
เงื่อนไขที่ URL ที่กำลังไปยังต้องเป็นไปตาม ระบบจะไม่สนใจฟิลด์ "schemes" และ "ports" ของ UrlFilter สำหรับเหตุการณ์นี้
-
onCreatedNavigationTarget
chrome.webNavigation.onCreatedNavigationTarget.addListener(
callback: function,
filters?: object,
)
ทริกเกอร์เมื่อมีการสร้างหน้าต่างใหม่หรือแท็บใหม่ในหน้าต่างที่มีอยู่เพื่อโฮสต์การนำทาง
พารามิเตอร์
-
ฟังก์ชัน
พารามิเตอร์
callbackมีลักษณะดังนี้(details: object) => void
-
ออบเจ็กต์
-
ตัวเลข
รหัสของเฟรมที่มี sourceTabId ซึ่งทริกเกอร์การนำทาง 0 หมายถึงเฟรมหลัก
-
ตัวเลข
รหัสของกระบวนการที่เรียกใช้โปรแกรมแสดงผลสำหรับเฟรมแหล่งที่มา
-
ตัวเลข
รหัสของแท็บที่มีการทริกเกอร์การนำทาง
-
ตัวเลข
รหัสของแท็บที่เปิด URL
-
ตัวเลข
เวลาที่เบราว์เซอร์กำลังจะสร้างมุมมองใหม่เป็นมิลลิวินาทีนับตั้งแต่ Epoch
-
สตริง
URL ที่จะเปิดในหน้าต่างใหม่
-
-
-
ออบเจ็กต์ ไม่บังคับ
-
เงื่อนไขที่ URL ที่กำลังไปยังต้องเป็นไปตาม ระบบจะไม่สนใจฟิลด์ "schemes" และ "ports" ของ UrlFilter สำหรับเหตุการณ์นี้
-
onDOMContentLoaded
chrome.webNavigation.onDOMContentLoaded.addListener(
callback: function,
filters?: object,
)
ทริกเกอร์เมื่อสร้าง DOM ของหน้าเว็บเสร็จสมบูรณ์แล้ว แต่ทรัพยากรที่อ้างอิงอาจโหลดไม่เสร็จ
พารามิเตอร์
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackมีลักษณะดังนี้(details: object) => void
-
รายละเอียด
ออบเจ็กต์
-
documentId
สตริง
Chrome 106 ขึ้นไปUUID ของเอกสารที่โหลด
-
documentLifecycleChrome 106 ขึ้นไป
วงจรที่เอกสารอยู่
-
frameId
ตัวเลข
0 หมายความว่าการนำทางเกิดขึ้นในหน้าต่างเนื้อหาของแท็บ ส่วนค่าบวกหมายความว่าการนำทางเกิดขึ้นในเฟรมย่อย รหัสเฟรมจะไม่ซ้ำกันภายในแท็บ
-
frameTypeChrome 106 ขึ้นไป
ประเภทเฟรมที่มีการนำทาง
-
parentDocumentId
สตริง ไม่บังคับ
Chrome 106 ขึ้นไปUUID ของเอกสารหลักที่เป็นเจ้าของเฟรมนี้ ไม่ได้ตั้งค่าหากไม่มีองค์กรหลัก
-
parentFrameId
ตัวเลข
Chrome 74 ขึ้นไปรหัสของเฟรมหลัก หรือ
-1หากเป็นเฟรมหลัก -
processId
ตัวเลข
รหัสของกระบวนการที่เรียกใช้โปรแกรมแสดงผลสำหรับเฟรมนี้
-
tabId
ตัวเลข
รหัสของแท็บที่มีการไปยังส่วนต่างๆ
-
timeStamp
ตัวเลข
เวลาที่สร้าง DOM ของหน้าเว็บเสร็จสมบูรณ์แล้วเป็นมิลลิวินาทีตั้งแต่ Epoch
-
URL
สตริง
-
-
-
ตัวกรอง
ออบเจ็กต์ ไม่บังคับ
-
URL
เงื่อนไขที่ URL ที่กำลังไปยังต้องเป็นไปตาม ระบบจะไม่สนใจฟิลด์ "schemes" และ "ports" ของ UrlFilter สำหรับเหตุการณ์นี้
-
onErrorOccurred
chrome.webNavigation.onErrorOccurred.addListener(
callback: function,
filters?: object,
)
ทริกเกอร์เมื่อเกิดข้อผิดพลาดและยกเลิกการนำทาง กรณีนี้อาจเกิดขึ้นหากเกิดข้อผิดพลาดเกี่ยวกับเครือข่าย หรือผู้ใช้ยกเลิกการไปยังส่วนต่างๆ
พารามิเตอร์
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackมีลักษณะดังนี้(details: object) => void
-
รายละเอียด
ออบเจ็กต์
-
documentId
สตริง
Chrome 106 ขึ้นไปUUID ของเอกสารที่โหลด
-
documentLifecycleChrome 106 ขึ้นไป
วงจรที่เอกสารอยู่
-
ข้อผิดพลาด
สตริง
คำอธิบายข้อผิดพลาด
-
frameId
ตัวเลข
0 หมายความว่าการนำทางเกิดขึ้นในหน้าต่างเนื้อหาของแท็บ ส่วนค่าบวกหมายความว่าการนำทางเกิดขึ้นในเฟรมย่อย รหัสเฟรมจะไม่ซ้ำกันภายในแท็บ
-
frameTypeChrome 106 ขึ้นไป
ประเภทเฟรมที่มีการนำทาง
-
parentDocumentId
สตริง ไม่บังคับ
Chrome 106 ขึ้นไปUUID ของเอกสารหลักที่เป็นเจ้าของเฟรมนี้ ไม่ได้ตั้งค่าหากไม่มีองค์กรหลัก
-
parentFrameId
ตัวเลข
Chrome 74 ขึ้นไปรหัสของเฟรมหลัก หรือ
-1หากเป็นเฟรมหลัก -
processId
ตัวเลข
เลิกใช้งานตั้งแต่ Chrome 50ระบบจะไม่ตั้งค่า processId สำหรับเหตุการณ์นี้อีกต่อไป
ค่า -1
-
tabId
ตัวเลข
รหัสของแท็บที่มีการไปยังส่วนต่างๆ
-
timeStamp
ตัวเลข
เวลาที่เกิดข้อผิดพลาดในหน่วยมิลลิวินาทีตั้งแต่ Epoch
-
URL
สตริง
-
-
-
ตัวกรอง
ออบเจ็กต์ ไม่บังคับ
-
URL
เงื่อนไขที่ URL ที่กำลังไปยังต้องเป็นไปตาม ระบบจะไม่สนใจฟิลด์ "schemes" และ "ports" ของ UrlFilter สำหรับเหตุการณ์นี้
-
onHistoryStateUpdated
chrome.webNavigation.onHistoryStateUpdated.addListener(
callback: function,
filters?: object,
)
ทริกเกอร์เมื่อประวัติของเฟรมได้รับการอัปเดตเป็น URL ใหม่ กิจกรรมในอนาคตทั้งหมดสำหรับเฟรมนั้นจะใช้ URL ที่อัปเดต
พารามิเตอร์
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackมีลักษณะดังนี้(details: object) => void
-
รายละเอียด
ออบเจ็กต์
-
documentId
สตริง
Chrome 106 ขึ้นไปUUID ของเอกสารที่โหลด
-
documentLifecycleChrome 106 ขึ้นไป
วงจรที่เอกสารอยู่
-
frameId
ตัวเลข
0 หมายความว่าการนำทางเกิดขึ้นในหน้าต่างเนื้อหาของแท็บ ส่วนค่าบวกหมายความว่าการนำทางเกิดขึ้นในเฟรมย่อย รหัสเฟรมจะไม่ซ้ำกันภายในแท็บ
-
frameTypeChrome 106 ขึ้นไป
ประเภทเฟรมที่มีการนำทาง
-
parentDocumentId
สตริง ไม่บังคับ
Chrome 106 ขึ้นไปUUID ของเอกสารหลักที่เป็นเจ้าของเฟรมนี้ ไม่ได้ตั้งค่าหากไม่มีองค์กรหลัก
-
parentFrameId
ตัวเลข
Chrome 74 ขึ้นไปรหัสของเฟรมหลัก หรือ
-1หากเป็นเฟรมหลัก -
processId
ตัวเลข
รหัสของกระบวนการที่เรียกใช้โปรแกรมแสดงผลสำหรับเฟรมนี้
-
tabId
ตัวเลข
รหัสของแท็บที่มีการไปยังส่วนต่างๆ
-
timeStamp
ตัวเลข
เวลาที่การนำทางได้รับการยืนยัน หน่วยเป็นมิลลิวินาทีตั้งแต่ Epoch
-
transitionQualifiers
รายการตัวระบุการเปลี่ยน
-
transitionType
สาเหตุของการนำทาง
-
URL
สตริง
-
-
-
ตัวกรอง
ออบเจ็กต์ ไม่บังคับ
-
URL
เงื่อนไขที่ URL ที่กำลังไปยังต้องเป็นไปตาม ระบบจะไม่สนใจฟิลด์ "schemes" และ "ports" ของ UrlFilter สำหรับเหตุการณ์นี้
-
onReferenceFragmentUpdated
chrome.webNavigation.onReferenceFragmentUpdated.addListener(
callback: function,
filters?: object,
)
ทริกเกอร์เมื่อมีการอัปเดต Fragment อ้างอิงของเฟรม กิจกรรมในอนาคตทั้งหมดสำหรับเฟรมนั้นจะใช้ URL ที่อัปเดต
พารามิเตอร์
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackมีลักษณะดังนี้(details: object) => void
-
รายละเอียด
ออบเจ็กต์
-
documentId
สตริง
Chrome 106 ขึ้นไปUUID ของเอกสารที่โหลด
-
documentLifecycleChrome 106 ขึ้นไป
วงจรที่เอกสารอยู่
-
frameId
ตัวเลข
0 หมายความว่าการนำทางเกิดขึ้นในหน้าต่างเนื้อหาของแท็บ ส่วนค่าบวกหมายความว่าการนำทางเกิดขึ้นในเฟรมย่อย รหัสเฟรมจะไม่ซ้ำกันภายในแท็บ
-
frameTypeChrome 106 ขึ้นไป
ประเภทเฟรมที่มีการนำทาง
-
parentDocumentId
สตริง ไม่บังคับ
Chrome 106 ขึ้นไปUUID ของเอกสารหลักที่เป็นเจ้าของเฟรมนี้ ไม่ได้ตั้งค่าหากไม่มีองค์กรหลัก
-
parentFrameId
ตัวเลข
Chrome 74 ขึ้นไปรหัสของเฟรมหลัก หรือ
-1หากเป็นเฟรมหลัก -
processId
ตัวเลข
รหัสของกระบวนการที่เรียกใช้โปรแกรมแสดงผลสำหรับเฟรมนี้
-
tabId
ตัวเลข
รหัสของแท็บที่มีการไปยังส่วนต่างๆ
-
timeStamp
ตัวเลข
เวลาที่การนำทางได้รับการยืนยัน หน่วยเป็นมิลลิวินาทีตั้งแต่ Epoch
-
transitionQualifiers
รายการตัวระบุการเปลี่ยน
-
transitionType
สาเหตุของการนำทาง
-
URL
สตริง
-
-
-
ตัวกรอง
ออบเจ็กต์ ไม่บังคับ
-
URL
เงื่อนไขที่ URL ที่กำลังไปยังต้องเป็นไปตาม ระบบจะไม่สนใจฟิลด์ "schemes" และ "ports" ของ UrlFilter สำหรับเหตุการณ์นี้
-
onTabReplaced
chrome.webNavigation.onTabReplaced.addListener(
callback: function,
)
ทริกเกอร์เมื่อเนื้อหาของแท็บถูกแทนที่ด้วยแท็บอื่น (โดยปกติจะเป็นแท็บที่แสดงผลล่วงหน้าก่อนหน้านี้)
พารามิเตอร์
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackมีลักษณะดังนี้(details: object) => void
-
รายละเอียด
ออบเจ็กต์
-
replacedTabId
ตัวเลข
รหัสของแท็บที่ถูกแทนที่
-
tabId
ตัวเลข
รหัสของแท็บที่แทนที่แท็บเก่า
-
timeStamp
ตัวเลข
เวลาที่เกิดการแทนที่ในหน่วยมิลลิวินาทีตั้งแต่ Epoch
-
-