תיאור
אפשר להשתמש ב-chrome.webNavigation API כדי לקבל התראות על הסטטוס של בקשות ניווט שנמצאות בתהליך.
הרשאות
webNavigationכדי להשתמש בכל השיטות והאירועים של browser.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 של המאפיין timeStamp מובטח להיות עקבי רק באופן פנימי. השוואה בין אירוע אחד לאירוע אחר תיתן לכם את ההפרש הנכון ביניהם, אבל השוואה שלהם לזמן הנוכחי בתוך התוסף (באמצעות (new Date()).getTime(), למשל) עלולה לתת תוצאות לא צפויות.
מזהי מסגרות
אפשר לזהות מסגרות בכרטיסייה באמצעות מזהה מסגרת. מזהה המסגרת של המסגרת הראשית הוא תמיד 0, ומזהה המסגרת של מסגרות צאצא הוא מספר חיובי. אחרי שמסמך נוצר במסגרת, מזהה המסגרת שלו נשאר קבוע במהלך חיי המסמך. החל מ-Chrome 49, המזהה הזה קבוע גם למשך חיי המסגרת (בכמה ניווטים).
בגלל האופי הרב-תהליכי של Chrome, יכול להיות שכרטיסייה תשתמש בתהליכים שונים כדי לעבד את המקור והיעד של דף אינטרנט. לכן, אם מתבצע ניווט בתהליך חדש, יכול להיות שתקבלו אירועים מהדף החדש ומהדף הישן עד שהניווט החדש יאושר (כלומר, עד שאירוע onCommitted יישלח למסגרת הראשית החדשה). במילים אחרות, יכול להיות יותר מרצף אחד של אירועי webNavigation בהמתנה עם אותו frameId. אפשר להבחין בין הרצפים באמצעות המקש processId.
בנוסף, חשוב לדעת שבמהלך טעינה זמנית, התהליך עשוי להשתנות כמה פעמים. זה קורה כשהטעינה מופנית לאתר אחר. במקרה כזה, תקבלו אירועים חוזרים של onBeforeNavigate ושל onErrorOccurred, עד שתקבלו את האירוע הסופי של onCommitted.
בעיה נוספת שקשורה לתוספים היא מחזור החיים של המסגרת. פריים מארח מסמך (שמשויך לכתובת URL שבוצעה לגביה פעולת אישור). המסמך יכול להשתנות (למשל, על ידי ניווט), אבל frameId לא ישתנה, ולכן קשה לשייך אירוע שקרה במסמך ספציפי רק ל-frameIds. אנחנו משיקים מושג חדש – documentId, מזהה ייחודי לכל מסמך. אם מתבצעת ניווט בפריים ונפתח מסמך חדש, המזהה ישתנה. השדה הזה שימושי כדי לקבוע מתי הדפים משנים את מצב מחזור החיים שלהם (בין טרום-עיבוד/פעיל/במטמון), כי הוא נשאר זהה.
סוגי מעברים ותנאים
לאירוע webNavigation onCommitted יש מאפיין 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
ספירה
"client_redirect"
"server_redirect"
"forward_back"
"from_address_bar"
TransitionType
הסיבה לניווט. נעשה שימוש באותם סוגי מעברים שמוגדרים ב-History API. אלה אותם סוגי מעברים שמוגדרים ב-History API, רק שבמקום "auto_toplevel" מופיע "start_page" (לצורך תאימות לדורות קודמים).
ספירה
"link"
"typed"
"auto_bookmark"
"auto_subframe"
"manual_subframe"
"generated"
"start_page"
"form_submit"
"reload"
"keyword"
"keyword_generated"
Methods
getAllFrames()
chrome.webNavigation.getAllFrames(
details: object,
): Promise<object[] | undefined>
אחזור מידע על כל המסגרות בכרטיסייה נתונה.
פרמטרים
-
פרטים
אובייקט
מידע על הכרטיסייה שממנה רוצים לאחזר את כל המסגרות.
-
tabId
number
המזהה של הכרטיסייה.
-
החזרות
-
Promise<object[] | undefined>
Chrome 93 ואילך
getFrame()
chrome.webNavigation.getFrame(
details: object,
): Promise<object | undefined>
אחזור מידע על מסגרת נתונה. מסגרת היא רכיב <iframe> או <frame> של דף אינטרנט, והיא מזוהה באמצעות מזהה כרטיסייה ומזהה מסגרת.
פרמטרים
-
פרטים
אובייקט
מידע על המסגרת שאותה רוצים לאחזר.
-
documentId
מחרוזת אופציונלי
Chrome 106 ואילךהמזהה הייחודי האוניברסלי (UUID) של המסמך. אם מסופקים frameId או tabId, המערכת תבדוק שהם תואמים למסמך שנמצא לפי מזהה המסמך שסופק.
-
frameId
מספר אופציונלי
המזהה של המסגרת בכרטיסייה הנתונה.
-
processId
מספר אופציונלי
הוצא משימוש מאז Chrome 49מסגרות מזוהות עכשיו באופן ייחודי לפי מזהה הכרטיסייה ומזהה המסגרת שלהן. מזהה התהליך כבר לא נדרש ולכן המערכת מתעלמת ממנו.
המזהה של התהליך שמפעיל את רכיב ה-Renderer בכרטיסייה הזו.
-
tabId
מספר אופציונלי
המזהה של הכרטיסייה שבה נמצאת המסגרת.
-
החזרות
-
Promise<object | undefined>
Chrome 93 ואילך
אירועים
onBeforeNavigate
chrome.webNavigation.onBeforeNavigate.addListener(
callback: function,
filters?: object,
)
מופעל כשניווט עומד להתרחש.
פרמטרים
-
פונקציה
הפרמטר
callbackנראה כך:(details: object) => void
-
אובייקט
-
Chrome 106 ואילך
מחזור החיים שבו המסמך נמצא.
-
number
0 מציין שהניווט מתבצע בחלון התוכן של הכרטיסייה, וערך חיובי מציין ניווט ב-iframe. מזהי המסגרות הם ייחודיים לכרטיסייה ולתהליך נתונים.
-
Chrome 106 ואילך
סוג המסגרת שבה התרחש הניווט.
-
מחרוזת אופציונלי
Chrome 106 ואילךמזהה UUID של מסמך ההורה שבבעלותו המסגרת הזו. אם אין נכס ראשי, הערך לא מוגדר.
-
number
המזהה של מסגרת ההורה, או
-1אם זו המסגרת הראשית. -
number
הוצא משימוש מאז Chrome 50המאפיין processId לא מוגדר יותר לאירוע הזה, כי התהליך שייצור את המסמך שיתקבל לא ידוע עד ל-onCommit.
הערך -1.
-
number
מזהה הכרטיסייה שבה עומדת להתרחש הניווט.
-
number
הזמן שבו הדפדפן עמד להתחיל את הניווט, באלפיות שנייה מאז ראשית התקופה של זמן מערכת.
-
מחרוזת
-
-
-
אובייקט אופציונלי
-
תנאים שכתובת ה-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
number
0 מציין שהניווט מתבצע בחלון התוכן של הכרטיסייה, וערך חיובי מציין ניווט ב-iframe. מזהי המסגרות ייחודיים בכרטיסייה.
-
frameTypeChrome 106 ואילך
סוג המסגרת שבה התרחש הניווט.
-
parentDocumentId
מחרוזת אופציונלי
Chrome 106 ואילךמזהה UUID של מסמך ההורה שבבעלותו המסגרת הזו. אם אין נכס ראשי, הערך לא מוגדר.
-
parentFrameId
number
Chrome 74 ואילךהמזהה של מסגרת ההורה, או
-1אם זו המסגרת הראשית. -
processId
number
המזהה של התהליך שמריץ את רכיב ה-renderer של המסגרת הזו.
-
tabId
number
המזהה של הכרטיסייה שבה מתבצע הניווט.
-
timeStamp
number
הזמן שבו הניווט בוצע, באלפיות שנייה מאז ראשית הזמן.
-
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
number
0 מציין שהניווט מתבצע בחלון התוכן של הכרטיסייה, וערך חיובי מציין ניווט ב-iframe. מזהי המסגרות ייחודיים בכרטיסייה.
-
frameTypeChrome 106 ואילך
סוג המסגרת שבה התרחש הניווט.
-
parentDocumentId
מחרוזת אופציונלי
Chrome 106 ואילךמזהה UUID של מסמך ההורה שבבעלותו המסגרת הזו. אם אין נכס ראשי, הערך לא מוגדר.
-
parentFrameId
number
Chrome 74 ואילךהמזהה של מסגרת ההורה, או
-1אם זו המסגרת הראשית. -
processId
number
המזהה של התהליך שמריץ את רכיב ה-renderer של המסגרת הזו.
-
tabId
number
המזהה של הכרטיסייה שבה מתבצע הניווט.
-
timeStamp
number
הזמן שבו טעינת המסמך הסתיימה, באלפיות השנייה מאז ראשית הזמן.
-
url
מחרוזת
-
-
-
מסננים
אובייקט אופציונלי
-
url
תנאים שכתובת ה-URL שאליה עוברים צריכה לעמוד בהם. המערכת מתעלמת מהשדות schemes ו-ports של UrlFilter באירוע הזה.
-
onCreatedNavigationTarget
chrome.webNavigation.onCreatedNavigationTarget.addListener(
callback: function,
filters?: object,
)
מופעל כשחלון חדש, או כרטיסייה חדשה בחלון קיים, נוצר כדי לארח ניווט.
פרמטרים
-
פונקציה
הפרמטר
callbackנראה כך:(details: object) => void
-
אובייקט
-
number
המזהה של המסגרת עם sourceTabId שבה מופעל הניווט. 0 מציין את המסגרת הראשית.
-
number
המזהה של התהליך שמריץ את רכיב ה-renderer של מסגרת המקור.
-
number
המזהה של הכרטיסייה שבה מופעל הניווט.
-
number
המזהה של הכרטיסייה שבה כתובת ה-URL נפתחת
-
number
הזמן שבו הדפדפן עמד ליצור תצוגה חדשה, באלפיות השנייה מאז ראשית התקופה.
-
מחרוזת
כתובת ה-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
number
0 מציין שהניווט מתבצע בחלון התוכן של הכרטיסייה, וערך חיובי מציין ניווט ב-iframe. מזהי המסגרות ייחודיים בכרטיסייה.
-
frameTypeChrome 106 ואילך
סוג המסגרת שבה התרחש הניווט.
-
parentDocumentId
מחרוזת אופציונלי
Chrome 106 ואילךמזהה UUID של מסמך ההורה שבבעלותו המסגרת הזו. אם אין נכס ראשי, הערך לא מוגדר.
-
parentFrameId
number
Chrome 74 ואילךהמזהה של מסגרת ההורה, או
-1אם זו המסגרת הראשית. -
processId
number
המזהה של התהליך שמריץ את רכיב ה-renderer של המסגרת הזו.
-
tabId
number
המזהה של הכרטיסייה שבה מתבצע הניווט.
-
timeStamp
number
הזמן שבו ה-DOM של הדף נוצר במלואו, באלפיות השנייה מאז ראשית הזמן.
-
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 ואילך
מחזור החיים שבו המסמך נמצא.
-
error
מחרוזת
תיאור השגיאה.
-
frameId
number
0 מציין שהניווט מתבצע בחלון התוכן של הכרטיסייה, וערך חיובי מציין ניווט ב-iframe. מזהי המסגרות ייחודיים בכרטיסייה.
-
frameTypeChrome 106 ואילך
סוג המסגרת שבה התרחש הניווט.
-
parentDocumentId
מחרוזת אופציונלי
Chrome 106 ואילךמזהה UUID של מסמך ההורה שבבעלותו המסגרת הזו. אם אין נכס ראשי, הערך לא מוגדר.
-
parentFrameId
number
Chrome 74 ואילךהמזהה של מסגרת ההורה, או
-1אם זו המסגרת הראשית. -
processId
number
הוצא משימוש מאז Chrome 50ה-processId כבר לא מוגדר לאירוע הזה.
הערך -1.
-
tabId
number
המזהה של הכרטיסייה שבה מתבצע הניווט.
-
timeStamp
number
הזמן שבו השגיאה התרחשה, באלפיות השנייה מאז ראשית התקופה של זמן מערכת.
-
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
number
0 מציין שהניווט מתבצע בחלון התוכן של הכרטיסייה, וערך חיובי מציין ניווט ב-iframe. מזהי המסגרות ייחודיים בכרטיסייה.
-
frameTypeChrome 106 ואילך
סוג המסגרת שבה התרחש הניווט.
-
parentDocumentId
מחרוזת אופציונלי
Chrome 106 ואילךמזהה UUID של מסמך ההורה שבבעלותו המסגרת הזו. הערך לא מוגדר אם אין נכס ראשי.
-
parentFrameId
number
Chrome 74 ואילךהמזהה של מסגרת ההורה, או
-1אם זו המסגרת הראשית. -
processId
number
המזהה של התהליך שמריץ את רכיב ה-renderer של המסגרת הזו.
-
tabId
number
המזהה של הכרטיסייה שבה מתבצע הניווט.
-
timeStamp
number
הזמן שבו הניווט בוצע, באלפיות שנייה מאז ראשית הזמן.
-
transitionQualifiers
רשימה של מסנני מעבר.
-
transitionType
הסיבה לניווט.
-
url
מחרוזת
-
-
-
מסננים
אובייקט אופציונלי
-
url
תנאים שכתובת ה-URL שאליה עוברים צריכה לעמוד בהם. המערכת מתעלמת מהשדות schemes ו-ports של UrlFilter באירוע הזה.
-
onReferenceFragmentUpdated
chrome.webNavigation.onReferenceFragmentUpdated.addListener(
callback: function,
filters?: object,
)
מופעל כשקטע ההפניה של פריים עודכן. כל האירועים העתידיים במסגרת הזמן הזו ישתמשו בכתובת ה-URL המעודכנת.
פרמטרים
-
callback
פונקציה
הפרמטר
callbackנראה כך:(details: object) => void
-
פרטים
אובייקט
-
documentId
מחרוזת
Chrome 106 ואילךמזהה ייחודי אוניברסלי (UUID) של המסמך שנטען.
-
documentLifecycleChrome 106 ואילך
מחזור החיים שבו המסמך נמצא.
-
frameId
number
0 מציין שהניווט מתבצע בחלון התוכן של הכרטיסייה, וערך חיובי מציין ניווט ב-iframe. מזהי המסגרות ייחודיים בכרטיסייה.
-
frameTypeChrome 106 ואילך
סוג המסגרת שבה התרחש הניווט.
-
parentDocumentId
מחרוזת אופציונלי
Chrome 106 ואילךמזהה UUID של מסמך ההורה שבבעלותו המסגרת הזו. הערך לא מוגדר אם אין נכס ראשי.
-
parentFrameId
number
Chrome 74 ואילךהמזהה של מסגרת ההורה, או
-1אם זו המסגרת הראשית. -
processId
number
המזהה של התהליך שמריץ את רכיב ה-renderer של המסגרת הזו.
-
tabId
number
המזהה של הכרטיסייה שבה מתבצע הניווט.
-
timeStamp
number
הזמן שבו הניווט בוצע, באלפיות שנייה מאז ראשית הזמן.
-
transitionQualifiers
רשימה של מסנני מעבר.
-
transitionType
הסיבה לניווט.
-
url
מחרוזת
-
-
-
מסננים
אובייקט אופציונלי
-
url
תנאים שכתובת ה-URL שאליה עוברים צריכה לעמוד בהם. המערכת מתעלמת מהשדות schemes ו-ports של UrlFilter באירוע הזה.
-
onTabReplaced
chrome.webNavigation.onTabReplaced.addListener(
callback: function,
)
האירוע מופעל כשהתוכן של הכרטיסייה מוחלף בכרטיסייה אחרת (בדרך כלל כרטיסייה שעברה עיבוד מראש).
פרמטרים
-
callback
פונקציה
הפרמטר
callbackנראה כך:(details: object) => void
-
פרטים
אובייקט
-
replacedTabId
number
המזהה של הכרטיסייה שהוחלפה.
-
tabId
number
המזהה של הכרטיסייה שהחליפה את הכרטיסייה הישנה.
-
timeStamp
number
הזמן שבו ההחלפה התרחשה, באלפיות השנייה מאז ראשית התקופה של זמן מערכת.
-
-