chrome.webNavigation

תיאור

אפשר להשתמש ב-chrome.webNavigation API כדי לקבל התראות על הסטטוס של בקשות ניווט שנמצאות בתהליך.

הרשאות

webNavigation

מניפסט

כדי להשתמש בכל השיטות והאירועים של chrome.webNavigation, צריך להצהיר על ההרשאה webNavigation במניפסט התוסף. לדוגמה:

{
  "name": "My extension",
  ...
  "permissions": [
    "webNavigation"
  ],
  ...
}

סדר האירועים

אם הניווט הושלם בהצלחה, האירועים מופעלים בסדר הבא:

onBeforeNavigate -> onCommitted -> [onDOMContentLoaded] -> onCompleted

כל שגיאה שמתרחשת במהלך התהליך מובילה לאירוע onErrorOccurred. במקרה של ניווט ספציפי, לא מופעלים אירועים נוספים אחרי onErrorOccurred.

אם פריים של ניווט מכיל פריים משנה, האירוע onCommitted שלו מופעל לפני כל האירועים onBeforeNavigate של פריים המשנה, ואילו האירוע onCompleted מופעל אחרי כל האירועים onCompleted של פריים המשנה.

אם משנים את מקטע ההפניה של פריים, מופעל אירוע onReferenceFragmentUpdated. האירוע הזה יכול להיות מופעל בכל שלב אחרי onDOMContentLoaded, גם אחרי onCompleted.

אם משתמשים ב-History API כדי לשנות את המצב של פריים (למשל באמצעות history.pushState()), מופעל אירוע onHistoryStateUpdated. האירוע הזה יכול להיות מופעל בכל שלב אחרי onDOMContentLoaded.

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

אם הניווט הופעל באמצעות Chrome Instant או Instant Pages, דף שנטען במלואו מוחלף בכרטיסייה הנוכחית. במקרה כזה, מופעל אירוע onTabReplaced.

הקשר לאירועים מסוג webRequest

אין סדר מוגדר בין האירועים של webRequest API לבין האירועים של webNavigation API. יכול להיות שעדיין מתקבלים אירועים של webRequest לגבי מסגרות שכבר התחילו ניווט חדש, או שהניווט מתבצע רק אחרי שמשאבי הרשת נטענים במלואם.

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

מזהי הכרטיסיות

לא כל הכרטיסיות שמוצגות בניווט תואמות לכרטיסיות בפועל בממשק המשתמש של Chrome, למשל, כרטיסייה שעוברת טרום-עיבוד. אי אפשר לגשת לכרטיסיות כאלה באמצעות tabs API, וגם אי אפשר לבקש מידע עליהן באמצעות webNavigation.getFrame או webNavigation.getAllFrames. אחרי שמחליפים כרטיסייה כזו, מופעל אירוע onTabReplaced והיא הופכת לזמינה דרך ממשקי ה-API האלה.

חותמות זמן

חשוב לציין שחלק מהמוזרויות הטכניות בטיפול של מערכת ההפעלה בתהליכי Chrome נפרדים עלולות לגרום להטיה בשעון בין הדפדפן עצמו לבין תהליכי התוסף. כלומר, מובטח שערך המאפיין timeStamp של אירועי WebNavigation יהיה עקבי רק באופן פנימי. השוואה בין אירוע אחד לאירוע אחר תיתן את ההפרש הנכון ביניהם, אבל השוואה שלהם לזמן הנוכחי בתוך התוסף (למשל באמצעות (new Date()).getTime()) עשויה לתת תוצאות לא צפויות.

מזהי מסגרות

אפשר לזהות מסגרות בכרטיסייה באמצעות מזהה מסגרת. מזהה הפריים של הפריים הראשי הוא תמיד 0, ומזהה הפריים של פריים צאצא הוא מספר חיובי. אחרי שמסמך נוצר במסגרת, מזהה המסגרת שלו נשאר קבוע במהלך חיי המסמך. החל מ-Chrome 49, המזהה הזה קבוע גם למשך החיים של המסגרת (בכמה ניווטים).

בגלל האופי הרב-תהליכי של Chrome, יכול להיות שכרטיסייה תשתמש בתהליכים שונים כדי לעבד את המקור והיעד של דף אינטרנט. לכן, אם מתבצע ניווט בתהליך חדש, יכול להיות שתקבלו אירועים מהדף החדש ומהדף הישן עד שהניווט החדש יאושר (כלומר, עד שאירוע onCommitted יישלח למסגרת הראשית החדשה). במילים אחרות, יכול להיות יותר מרצף אחד של אירועי webNavigation בהמתנה עם אותו frameId. אפשר להבחין בין הרצפים באמצעות המקש processId.

חשוב גם לדעת שבמהלך טעינה זמנית, התהליך עשוי להשתנות כמה פעמים. זה קורה כשהטעינה מופנית לאתר אחר. במקרה כזה, תקבלו אירועים חוזרים של onBeforeNavigate ושל onErrorOccurred, עד שתקבלו את האירוע הסופי של onCommitted.

בעיה נוספת שקשורה לתוספים היא מחזור החיים של המסגרת. פריים מארח מסמך (שמשויך לכתובת URL מחויבת). המסמך יכול להשתנות (למשל, באמצעות ניווט), אבל frameId לא ישתנה, ולכן קשה לשייך אירוע שקרה במסמך ספציפי רק ל-frameIds. אנחנו מציגים מושג חדש – documentId, שהוא מזהה ייחודי לכל מסמך. אם מתבצעת ניווט בפריים ונפתח מסמך חדש, המזהה ישתנה. השדה הזה שימושי כדי לקבוע מתי הדפים משנים את מצב מחזור החיים שלהם (בין טרום-עיבוד/פעיל/במטמון) כי הוא נשאר זהה.

סוגי מעברים ותנאים

לאירוע onCommitted של webNavigation API יש מאפיין transitionType ומאפיין transitionQualifiers. סוג המעבר זהה לזה שמשמש ב-History API, ומתאר איך הדפדפן ניווט לכתובת ה-URL הספציפית הזו. בנוסף, יכולים להיות מגדירי מעבר שמוחזרים ומגדירים את הניווט בצורה מפורטת יותר.

קיימים מגדירי המעבר הבאים:

תנאי מעברתיאור
"client_redirect"במהלך הניווט התרחשה הפניה אוטומטית אחת או יותר שנגרמה על ידי JavaScript או תגי meta refresh בדף.
‫"server_redirect"במהלך הניווט התרחשו הפניות אוטומטיות אחת או יותר שנגרמו על ידי כותרות HTTP שנשלחו מהשרת.
‪"forward_back"המשתמש השתמש בלחצן 'הבא' או הכפתור "הקודם" כדי להתחיל את הניווט.
"from_address_bar"המשתמש התחיל את הניווט מסרגל הכתובות (שנקרא גם Omnibox).

דוגמאות

כדי לנסות את ה-API הזה, מתקינים את הדוגמה ל-webNavigation API ממאגר chrome-extension-samples.

סוגים

TransitionQualifier

Chrome 44 ואילך

Enum

‎"client_redirect"

"server_redirect"

"forward_back"

"from_address_bar"

TransitionType

Chrome 44 ואילך

הסיבה לניווט. נעשה שימוש באותם סוגי מעברים שמוגדרים ב-History API. אלה אותם סוגי מעברים שמוגדרים ב-History API, רק שבמקום "auto_toplevel" מופיע "start_page" (לצורך תאימות לדור קודם).

Enum

"link"

‎"typed"

"auto_bookmark"

"auto_subframe"

"manual_subframe"

"generated"

"start_page"

"form_submit"

"reload"

"keyword"

‎"keyword_generated"

Methods

getAllFrames()

Promise
chrome.webNavigation.getAllFrames(
  details: object,
  callback?: function,
)
: Promise<object[] | undefined>

אחזור מידע על כל המסגרות בכרטיסייה נתונה.

פרמטרים

  • פרטים

    אובייקט

    פרטים על הכרטיסייה שממנה רוצים לאחזר את כל המסגרות.

    • tabId

      number

      המזהה של הכרטיסייה.

  • callback

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    (details?: object[]) => void

    • פרטים

      object[] אופציונלי

      רשימה של מסגרות בכרטיסייה הנתונה, הערך null אם מזהה הכרטיסייה שצוין לא תקין.

      • documentId

        מחרוזת

        Chrome 106 ואילך

        מזהה ייחודי אוניברסלי (UUID) של המסמך שנטען.

      • documentLifecycle
        Chrome 106 ואילך

        מחזור החיים שהמסמך נמצא בו.

      • errorOccurred

        בוליאני

        הערך הוא True אם הניווט האחרון בפריים הזה הופסק בגלל שגיאה, כלומר האירוע onErrorOccurred הופעל.

      • frameId

        number

        המזהה של המסגרת. הערך 0 מציין שזהו הפריים הראשי, וערך חיובי מציין את המזהה של פריים משני.

      • frameType
        Chrome 106 ואילך

        סוג המסגרת שבה התרחש המעבר.

      • parentDocumentId

        מחרוזת אופציונלי

        Chrome 106 ואילך

        מזהה UUID של מסמך ההורה שבבעלותו המסגרת הזו. אם אין נכס ראשי, הערך לא מוגדר.

      • parentFrameId

        number

        המזהה של מסגרת ההורה, או -1 אם זו המסגרת הראשית.

      • processId

        number

        המזהה של התהליך שמריץ את רכיב ה-renderer של המסגרת הזו.

      • כתובת אתר

        מחרוזת

        כתובת ה-URL שמשויכת כרגע למסגרת הזו.

החזרות

  • Promise<object[] | undefined>

    Chrome 93 ואילך

    ההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות קריאה חוזרת (callback).

getFrame()

Promise
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) של המסמך שנטען.

      • documentLifecycle
        Chrome 106 ואילך

        מחזור החיים שהמסמך נמצא בו.

      • errorOccurred

        בוליאני

        הערך הוא True אם הניווט האחרון בפריים הזה הופסק בגלל שגיאה, כלומר האירוע onErrorOccurred הופעל.

      • frameType
        Chrome 106 ואילך

        סוג המסגרת שבה התרחש המעבר.

      • parentDocumentId

        מחרוזת אופציונלי

        Chrome 106 ואילך

        מזהה UUID של מסמך ההורה שבבעלותו המסגרת הזו. אם אין נכס ראשי, הערך לא מוגדר.

      • parentFrameId

        number

        המזהה של מסגרת ההורה, או -1 אם זו המסגרת הראשית.

      • כתובת אתר

        מחרוזת

        כתובת ה-URL שמשויכת כרגע למסגרת הזו, אם המסגרת שזוהתה על ידי frameId הייתה קיימת בשלב מסוים בכרטיסייה הנתונה. העובדה שכתובת URL משויכת ל-frameId מסוים לא מרמזת שהפריים התואם עדיין קיים.

החזרות

  • Promise<object | undefined>

    Chrome 93 ואילך

    ההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות קריאה חוזרת (callback).

אירועים

onBeforeNavigate

chrome.webNavigation.onBeforeNavigate.addListener(
  callback: function,
  filters?: object,
)

מופעל כשניווט עומד להתרחש.

פרמטרים

  • callback

    פונקציה

    הפרמטר callback נראה כך:

    (details: object) => void

    • פרטים

      אובייקט

      • Chrome 106 ואילך

        מחזור החיים שהמסמך נמצא בו.

      • frameId

        number

        ‫0 מציין שהניווט מתבצע בחלון התוכן של הכרטיסייה, וערך חיובי מציין ניווט ב-subframe. מזהי המסגרות הם ייחודיים לכרטיסייה ולתהליך נתונים.

      • Chrome 106 ואילך

        סוג המסגרת שבה התרחש המעבר.

      • parentDocumentId

        מחרוזת אופציונלי

        Chrome 106 ואילך

        מזהה UUID של מסמך ההורה שבבעלותו המסגרת הזו. אם אין נכס ראשי, הערך לא מוגדר.

      • parentFrameId

        number

        המזהה של מסגרת ההורה, או -1 אם זו המסגרת הראשית.

      • processId

        number

        הוצא משימוש מאז Chrome 50

        המאפיין processId לא מוגדר יותר לאירוע הזה, כי התהליך שייצור את המסמך שיתקבל לא ידוע עד ל-onCommit.

        הערך -1.

      • tabId

        number

        המזהה של הכרטיסייה שבה הניווט עומד להתרחש.

      • timeStamp

        number

        הזמן שבו הדפדפן עמד להתחיל את הניווט, באלפיות השנייה מאז תחילת התקופה של זמן מערכת.

      • כתובת אתר

        מחרוזת

  • מסננים

    אובייקט אופציונלי

    • כתובת אתר

      תנאים שכתובת ה-URL שאליה עוברים צריכה לעמוד בהם. המערכת מתעלמת מהשדות 'schemes' ו-'ports' של UrlFilter לגבי האירוע הזה.

onCommitted

chrome.webNavigation.onCommitted.addListener(
  callback: function,
  filters?: object,
)

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

פרמטרים

  • callback

    פונקציה

    הפרמטר callback נראה כך:

    (details: object) => void

    • פרטים

      אובייקט

      • documentId

        מחרוזת

        Chrome 106 ואילך

        מזהה ייחודי אוניברסלי (UUID) של המסמך שנטען.

      • Chrome 106 ואילך

        מחזור החיים שהמסמך נמצא בו.

      • frameId

        number

        ‫0 מציין שהניווט מתבצע בחלון התוכן של הכרטיסייה, וערך חיובי מציין ניווט ב-subframe. מזהי המסגרות ייחודיים בתוך כרטיסייה.

      • Chrome 106 ואילך

        סוג המסגרת שבה התרחש המעבר.

      • parentDocumentId

        מחרוזת אופציונלי

        Chrome 106 ואילך

        מזהה UUID של מסמך ההורה שבבעלותו המסגרת הזו. אם אין נכס ראשי, הערך לא מוגדר.

      • parentFrameId

        number

        Chrome 74 ואילך

        המזהה של מסגרת ההורה, או -1 אם זו המסגרת הראשית.

      • processId

        number

        המזהה של התהליך שמריץ את רכיב ה-renderer של המסגרת הזו.

      • tabId

        number

        המזהה של הכרטיסייה שבה מתבצע הניווט.

      • timeStamp

        number

        הזמן שבו הניווט בוצע, באלפיות השנייה מאז ראשית הזמן.

      • transitionQualifiers

        רשימה של מסנני מעבר.

      • transitionType

        הסיבה לניווט.

      • כתובת אתר

        מחרוזת

  • מסננים

    אובייקט אופציונלי

    • כתובת אתר

      תנאים שכתובת ה-URL שאליה עוברים צריכה לעמוד בהם. המערכת מתעלמת מהשדות schemes ו-ports של UrlFilter באירוע הזה.

onCompleted

chrome.webNavigation.onCompleted.addListener(
  callback: function,
  filters?: object,
)

האירוע מופעל כשמסמך, כולל המשאבים שהוא מפנה אליהם, נטען ואותחל באופן מלא.

פרמטרים

  • callback

    פונקציה

    הפרמטר callback נראה כך:

    (details: object) => void

    • פרטים

      אובייקט

      • documentId

        מחרוזת

        Chrome 106 ואילך

        מזהה ייחודי אוניברסלי (UUID) של המסמך שנטען.

      • Chrome 106 ואילך

        מחזור החיים שהמסמך נמצא בו.

      • frameId

        number

        ‫0 מציין שהניווט מתבצע בחלון התוכן של הכרטיסייה, וערך חיובי מציין ניווט ב-subframe. מזהי המסגרות ייחודיים בתוך כרטיסייה.

      • Chrome 106 ואילך

        סוג המסגרת שבה התרחש המעבר.

      • parentDocumentId

        מחרוזת אופציונלי

        Chrome 106 ואילך

        מזהה UUID של מסמך ההורה שבבעלותו המסגרת הזו. אם אין נכס ראשי, הערך לא מוגדר.

      • parentFrameId

        number

        Chrome 74 ואילך

        המזהה של מסגרת ההורה, או -1 אם זו המסגרת הראשית.

      • processId

        number

        המזהה של התהליך שמריץ את רכיב ה-renderer של המסגרת הזו.

      • tabId

        number

        המזהה של הכרטיסייה שבה מתבצע הניווט.

      • timeStamp

        number

        הזמן שבו טעינת המסמך הסתיימה, באלפיות השנייה מאז ראשית הזמן.

      • כתובת אתר

        מחרוזת

  • מסננים

    אובייקט אופציונלי

    • כתובת אתר

      תנאים שכתובת ה-URL שאליה עוברים צריכה לעמוד בהם. המערכת מתעלמת מהשדות 'schemes' ו-'ports' של UrlFilter לגבי האירוע הזה.

onCreatedNavigationTarget

chrome.webNavigation.onCreatedNavigationTarget.addListener(
  callback: function,
  filters?: object,
)

מופעל כשנוצר חלון חדש או כרטיסייה חדשה בחלון קיים כדי לארח ניווט.

פרמטרים

  • callback

    פונקציה

    הפרמטר callback נראה כך:

    (details: object) => void

    • פרטים

      אובייקט

      • sourceFrameId

        number

        המזהה של המסגרת עם sourceTabId שבה מופעלת הניווט. ‫0 מציין את המסגרת הראשית.

      • sourceProcessId

        number

        המזהה של התהליך שמריץ את רכיב העיבוד של מסגרת המקור.

      • sourceTabId

        number

        המזהה של הכרטיסייה שבה מופעל הניווט.

      • tabId

        number

        המזהה של הכרטיסייה שבה כתובת ה-URL נפתחת

      • timeStamp

        number

        הזמן שבו הדפדפן עמד ליצור תצוגה חדשה, באלפיות השנייה מאז תקופת ה-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) של המסמך שנטען.

      • Chrome 106 ואילך

        מחזור החיים שהמסמך נמצא בו.

      • frameId

        number

        ‫0 מציין שהניווט מתבצע בחלון התוכן של הכרטיסייה, וערך חיובי מציין ניווט ב-subframe. מזהי המסגרות ייחודיים בתוך כרטיסייה.

      • Chrome 106 ואילך

        סוג המסגרת שבה התרחש המעבר.

      • parentDocumentId

        מחרוזת אופציונלי

        Chrome 106 ואילך

        מזהה UUID של מסמך ההורה שבבעלותו המסגרת הזו. אם אין נכס ראשי, הערך לא מוגדר.

      • parentFrameId

        number

        Chrome 74 ואילך

        המזהה של מסגרת ההורה, או -1 אם זו המסגרת הראשית.

      • processId

        number

        המזהה של התהליך שמריץ את רכיב ה-renderer של המסגרת הזו.

      • tabId

        number

        המזהה של הכרטיסייה שבה מתבצע הניווט.

      • timeStamp

        number

        הזמן שבו ה-DOM של הדף נוצר במלואו, באלפיות השנייה מאז ראשית הזמן.

      • כתובת אתר

        מחרוזת

  • מסננים

    אובייקט אופציונלי

    • כתובת אתר

      תנאים שכתובת ה-URL שאליה עוברים צריכה לעמוד בהם. המערכת מתעלמת מהשדות 'schemes' ו-'ports' של UrlFilter לגבי האירוע הזה.

onErrorOccurred

chrome.webNavigation.onErrorOccurred.addListener(
  callback: function,
  filters?: object,
)

מופעלת כשמתרחשת שגיאה והניווט מבוטל. הבעיה הזו יכולה לקרות אם הייתה שגיאת רשת או שהמשתמש ביטל את הניווט.

פרמטרים

  • callback

    פונקציה

    הפרמטר callback נראה כך:

    (details: object) => void

    • פרטים

      אובייקט

      • documentId

        מחרוזת

        Chrome 106 ואילך

        מזהה ייחודי אוניברסלי (UUID) של המסמך שנטען.

      • Chrome 106 ואילך

        מחזור החיים שהמסמך נמצא בו.

      • error

        מחרוזת

        תיאור השגיאה.

      • frameId

        number

        ‫0 מציין שהניווט מתבצע בחלון התוכן של הכרטיסייה, וערך חיובי מציין ניווט ב-subframe. מזהי המסגרות ייחודיים בתוך כרטיסייה.

      • Chrome 106 ואילך

        סוג המסגרת שבה התרחש המעבר.

      • parentDocumentId

        מחרוזת אופציונלי

        Chrome 106 ואילך

        מזהה UUID של מסמך ההורה שבבעלותו המסגרת הזו. אם אין נכס ראשי, הערך לא מוגדר.

      • parentFrameId

        number

        Chrome 74 ואילך

        המזהה של מסגרת ההורה, או -1 אם זו המסגרת הראשית.

      • processId

        number

        הוצא משימוש מאז Chrome 50

        ה-processId כבר לא מוגדר לאירוע הזה.

        הערך -1.

      • tabId

        number

        המזהה של הכרטיסייה שבה מתבצע הניווט.

      • timeStamp

        number

        השעה שבה השגיאה התרחשה, במילי-שניות מאז תחילת התקופה של זמן מערכת.

      • כתובת אתר

        מחרוזת

  • מסננים

    אובייקט אופציונלי

    • כתובת אתר

      תנאים שכתובת ה-URL שאליה עוברים צריכה לעמוד בהם. המערכת מתעלמת מהשדות 'schemes' ו-'ports' של UrlFilter לגבי האירוע הזה.

onHistoryStateUpdated

chrome.webNavigation.onHistoryStateUpdated.addListener(
  callback: function,
  filters?: object,
)

מופעל כשההיסטוריה של המסגרת עודכנה לכתובת URL חדשה. כל האירועים העתידיים במסגרת הזמן הזו ישתמשו בכתובת ה-URL המעודכנת.

פרמטרים

  • callback

    פונקציה

    הפרמטר callback נראה כך:

    (details: object) => void

    • פרטים

      אובייקט

      • documentId

        מחרוזת

        Chrome 106 ואילך

        מזהה ייחודי אוניברסלי (UUID) של המסמך שנטען.

      • Chrome 106 ואילך

        מחזור החיים שהמסמך נמצא בו.

      • frameId

        number

        ‫0 מציין שהניווט מתבצע בחלון התוכן של הכרטיסייה, וערך חיובי מציין ניווט ב-subframe. מזהי המסגרות ייחודיים בתוך כרטיסייה.

      • Chrome 106 ואילך

        סוג המסגרת שבה התרחש המעבר.

      • parentDocumentId

        מחרוזת אופציונלי

        Chrome 106 ואילך

        מזהה UUID של מסמך ההורה שבבעלותו המסגרת הזו. אם אין נכס ראשי, הערך לא מוגדר.

      • parentFrameId

        number

        Chrome 74 ואילך

        המזהה של מסגרת ההורה, או -1 אם זו המסגרת הראשית.

      • processId

        number

        המזהה של התהליך שמריץ את רכיב ה-renderer של המסגרת הזו.

      • tabId

        number

        המזהה של הכרטיסייה שבה מתבצע הניווט.

      • timeStamp

        number

        הזמן שבו הניווט בוצע, באלפיות השנייה מאז ראשית הזמן.

      • transitionQualifiers

        רשימה של מסנני מעבר.

      • transitionType

        הסיבה לניווט.

      • כתובת אתר

        מחרוזת

  • מסננים

    אובייקט אופציונלי

    • כתובת אתר

      תנאים שכתובת ה-URL שאליה עוברים צריכה לעמוד בהם. המערכת מתעלמת מהשדות 'schemes' ו-'ports' של UrlFilter לגבי האירוע הזה.

onReferenceFragmentUpdated

chrome.webNavigation.onReferenceFragmentUpdated.addListener(
  callback: function,
  filters?: object,
)

מופעל כשקטע ההפניה של פריים עודכן. כל האירועים העתידיים במסגרת הזמן הזו ישתמשו בכתובת ה-URL המעודכנת.

פרמטרים

  • callback

    פונקציה

    הפרמטר callback נראה כך:

    (details: object) => void

    • פרטים

      אובייקט

      • documentId

        מחרוזת

        Chrome 106 ואילך

        מזהה ייחודי אוניברסלי (UUID) של המסמך שנטען.

      • Chrome 106 ואילך

        מחזור החיים שהמסמך נמצא בו.

      • frameId

        number

        ‫0 מציין שהניווט מתבצע בחלון התוכן של הכרטיסייה, וערך חיובי מציין ניווט ב-subframe. מזהי המסגרות ייחודיים בתוך כרטיסייה.

      • Chrome 106 ואילך

        סוג המסגרת שבה התרחש המעבר.

      • parentDocumentId

        מחרוזת אופציונלי

        Chrome 106 ואילך

        מזהה UUID של מסמך ההורה שבבעלותו המסגרת הזו. אם אין נכס ראשי, הערך לא מוגדר.

      • parentFrameId

        number

        Chrome 74 ואילך

        המזהה של מסגרת ההורה, או -1 אם זו המסגרת הראשית.

      • processId

        number

        המזהה של התהליך שמריץ את רכיב ה-renderer של המסגרת הזו.

      • tabId

        number

        המזהה של הכרטיסייה שבה מתבצע הניווט.

      • timeStamp

        number

        הזמן שבו הניווט בוצע, באלפיות השנייה מאז ראשית הזמן.

      • transitionQualifiers

        רשימה של מסנני מעבר.

      • transitionType

        הסיבה לניווט.

      • כתובת אתר

        מחרוזת

  • מסננים

    אובייקט אופציונלי

    • כתובת אתר

      תנאים שכתובת ה-URL שאליה עוברים צריכה לעמוד בהם. המערכת מתעלמת מהשדות 'schemes' ו-'ports' של UrlFilter לגבי האירוע הזה.

onTabReplaced

chrome.webNavigation.onTabReplaced.addListener(
  callback: function,
)

האירוע מופעל כשהתוכן של הכרטיסייה מוחלף בכרטיסייה אחרת (בדרך כלל כרטיסייה שעברה עיבוד מראש).

פרמטרים

  • callback

    פונקציה

    הפרמטר callback נראה כך:

    (details: object) => void

    • פרטים

      אובייקט

      • replacedTabId

        number

        המזהה של הכרטיסייה שהוחלפה.

      • tabId

        number

        המזהה של הכרטיסייה שהחליפה את הכרטיסייה הישנה.

      • timeStamp

        number

        הזמן שבו ההחלפה התרחשה, באלפיות השנייה מאז תחילת התקופה של זמן מערכת.