Opis
Używaj interfejsu chrome.webNavigation
API, aby otrzymywać powiadomienia o stanie przesyłanych żądań nawigacji.
Uprawnienia
webNavigation
Plik manifestu
Wszystkie metody i zdarzenia chrome.webNavigation
wymagają zadeklarowania uprawnienia „webnavigation” w pliku manifestu rozszerzenia. Na przykład:
{
"name": "My extension",
...
"permissions": [
"webNavigation"
],
...
}
Kolejność wydarzeń
Po pomyślnym ukończeniu nawigacji zdarzenia są wywoływane w tej kolejności:
onBeforeNavigate -> onCommitted -> [onDOMContentLoaded] -> onCompleted
Każdy błąd, który wystąpi w trakcie tego procesu, skutkuje zdarzeniem onErrorOccurred
. W przypadku konkretnej nawigacji po onErrorOccurred
nie są już uruchamiane żadne zdarzenia.
Jeśli ramka z nawigacją zawiera ramki podrzędne, jej onCommitted
jest wywoływana przed elementem podrzędnym onBeforeNavigate
, a onCompleted
po wszystkich jej elementach podrzędnych: onCompleted
.
W przypadku zmiany fragmentu referencyjnego ramki wywoływane jest zdarzenie onReferenceFragmentUpdated
. To zdarzenie może zostać uruchomione w dowolnym momencie po onDOMContentLoaded
, nawet po onCompleted
.
Jeśli interfejs API historii jest używany do modyfikowania stanu ramki (np. z zastosowaniem history.pushState()
, wywoływane jest zdarzenie onHistoryStateUpdated
). To zdarzenie może zostać uruchomione w dowolnym momencie po onDOMContentLoaded
.
Jeśli nawigacja przywróciła stronę z pamięci podręcznej stanu strony internetowej, zdarzenie onDOMContentLoaded
nie zostanie uruchomione. Zdarzenie nie jest wywoływane, ponieważ ładowanie treści zostało już zakończone w momencie pierwszej wizyty na stronie.
Jeśli nawigacja została wywołana przez wyszukiwanie dynamiczne w Chrome lub strony błyskawiczne, strona jest w pełni załadowana i zastępowana nad bieżącą kartą. W takim przypadku wywoływane jest zdarzenie onTabReplaced
.
Relacja ze zdarzeniami webRequest
Nie ma zdefiniowanej kolejności między zdarzeniami z interfejsu webRequest API a zdarzeniami z web Navigation API. Możliwe, że zdarzenia webRequest są nadal odbierane w przypadku ramek, które rozpoczęły nową nawigację, lub że nawigacja przebiega dopiero po pełnym wczytaniu zasobów sieciowych.
Ogólnie zdarzenia webNawigacja są ściśle powiązane ze stanem nawigacji wyświetlanym w interfejsie, a zdarzenia webRequest odpowiadają stanowi stosu sieciowego, który jest zazwyczaj nieprzezroczysty dla użytkownika.
Identyfikatory kart
Nie wszystkie poruszające się karty odpowiadają rzeczywistym kartom w interfejsie Chrome – np. karta, która jest wstępnie renderowana. Takie karty nie są dostępne w interfejsie tabs API i nie można prosić o informacje o nich za pomocą webNavigation.getFrame
ani webNavigation.getAllFrames
. Po zastąpieniu takiej karty wywoływane jest zdarzenie onTabReplaced
, które staje się dostępne przez te interfejsy API.
Sygnatury czasowe
Pewne błędy techniczne związane z obsługą poszczególnych procesów Chrome przez system operacyjny mogą powodować zaburzanie zegara między przeglądarką a procesami rozszerzenia. Oznacza to, że właściwość timeStamp
zdarzeń WebNawigacja jest gwarantowana tylko wewnętrznie. Porównanie jednego zdarzenia do innego pozwoli uzyskać właściwe przesunięcie, ale porównanie ich z bieżącym czasem w rozszerzeniu (na przykład za pomocą (new Date()).getTime()
) może przynieść nieoczekiwane wyniki.
Identyfikatory ramek
Ramki na karcie można rozpoznać po ich identyfikatorach. Identyfikator ramki głównej ma zawsze wartość 0, a identyfikator ramki podrzędnej jest liczbą dodatnią. Po utworzeniu dokumentu w ramce identyfikator ramki nie zmienia się przez cały okres ważności dokumentu. Od Chrome 49 ten identyfikator jest też stały przez cały okres istnienia klatki (w przypadku wielu elementów nawigacyjnych).
Ze względu na wieloprocesowy charakter Chrome karta może wykorzystywać inne procesy do renderowania źródła i miejsca docelowego strony internetowej. Dlatego, jeśli nawigacja odbywa się w nowym procesie, do czasu zatwierdzenia nowej nawigacji możesz otrzymywać zdarzenia zarówno z nowej, jak i ze starej strony (tzn. do nowej ramki głównej wysyłane jest zdarzenie onCommitted
). Oznacza to, że może występować więcej niż 1 oczekująca sekwencja zdarzeń webNawigacja z takim samym atrybutem frameId
. Sekwencje można rozróżnić za pomocą klucza processId
.
Pamiętaj też, że podczas tymczasowego wczytywania proces może zostać kilka razy przełączony. Dzieje się tak, gdy obciążenie jest przekierowywane do innej witryny. W takim przypadku będziesz otrzymywać powtarzające się zdarzenia onBeforeNavigate
i onErrorOccurred
, aż otrzymasz ostatnie zdarzenie onCommitted
.
Innym problemem związanym z rozszerzeniami jest cykl życia ramki. W ramce znajduje się dokument (powiązany z zatwierdzonym adresem URL). Dokument może się zmieniać (np. podczas nawigacji), ale element frameId już nie. Dlatego trudno jest powiązać zdarzenia w konkretnym dokumencie tylko z frameIds. Wprowadzamy pojęcie documentId, które jest unikalnym identyfikatorem dokumentu. Jeśli ramka otwiera nowy dokument, gdy użytkownik patrzy na ekran, identyfikator się zmienia. To pole jest przydatne do określania, kiedy strony zmieniają swój stan cyklu życia (między renderowaniem wstępnie/aktywnym/z pamięci podręcznej), ponieważ pozostaje bez zmian.
Typy przejść i kwalifikatory
Zdarzenie onCommitted
interfejsu API webNawigacja ma właściwości transitionType
i transitionQualifiers
. Typ przejścia jest taki sam jak używany w interfejsie API historii opisującym sposób przejścia przeglądarki do danego adresu URL. Można też zwrócić kilka kwalifikatorów przejścia, które doprecyzowują nawigację.
Istnieją następujące kwalifikatory przejścia:
Kwalifikator przejścia | Opis |
---|---|
"client_redirect" | Co najmniej jedno przekierowanie spowodowane przez tagi JavaScript lub metaodświeżanie strony miało miejsce podczas nawigacji. |
"server_redirect" | Co najmniej jedno przekierowanie spowodowane przez nagłówki HTTP wysyłane z serwera miało miejsce podczas nawigacji. |
„forward_back” | Użytkownik użył przycisku Dalej lub Wstecz, aby rozpocząć nawigację. |
„pasek_adresu_od” | użytkownik zainicjował nawigację na pasku adresu (omniboksie). |
Przykłady
Aby wypróbować ten interfejs API, zainstaluj przykładowy interfejs webNawigacja z repozytorium chrome-extension-samples.
Typy
TransitionQualifier
Typ wyliczeniowy
"client_redirect"
"server_redirect"
"forward_back"
"from_address_bar"
TransitionType
Przyczyna nawigacji. Używane są te same typy przejść co w interfejsie API historii. Są to te same typy przejść co zdefiniowane w interfejsie API historii, z wyjątkiem "start_page"
zamiast "auto_toplevel"
(aby zapewnić zgodność wsteczną).
Typ wyliczeniowy
"typed"
"auto_bookmark"
"auto_subframe"
"manual_subframe"
"start_page"
"form_submit"
"keyword_generated"
Metody
getAllFrames()
chrome.webNavigation.getAllFrames(
details: object,
callback?: function,
)
Pobiera informacje o wszystkich ramkach na danej karcie.
Parametry
-
szczegóły
obiekt
Informacje o karcie, z której mają być pobrane wszystkie klatki.
-
tabId
Liczba
Identyfikator karty.
-
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(details?: object[]) => void
-
szczegóły
obiekt[] opcjonalny
Lista ramek w danej karcie. Wartość null, jeśli podany identyfikator karty jest nieprawidłowy.
-
documentId
string,
Chrome 106 i nowsze wersjeZaładowano identyfikator UUID dokumentu.
-
documentLifecycleChrome 106 i nowsze wersje
Cykl życia dokumentu.
-
errorOccurred
boolean
Prawda, jeśli ostatnia nawigacja w tej ramce została przerwana przez błąd, tj. uruchomiono zdarzenie onErrorOccurred.
-
frameId
Liczba
Identyfikator klatki. Wartość 0 wskazuje, że jest to ramka główna, a wartość dodatnia – identyfikator ramki podrzędnej.
-
frameTypeChrome 106 i nowsze wersje
Typ klatki, w której wystąpiła nawigacja.
-
parentDocumentId
ciąg znaków opcjonalny
Chrome 106 i nowsze wersjeIdentyfikator UUID dokumentu nadrzędnego, do którego należy ta ramka. Ta wartość nie jest ustawiona, jeśli nie ma elementu nadrzędnego.
-
parentFrameId
Liczba
Identyfikator ramki nadrzędnej lub
-1
, jeśli jest to ramka główna. -
processId
Liczba
Identyfikator procesu, który uruchamia mechanizm renderowania tej klatki.
-
URL
string,
Adres URL powiązany obecnie z tą ramką.
-
-
Zwroty
-
Promise<object[] | undefined>
Chrome w wersji 93 i nowszychObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
getFrame()
chrome.webNavigation.getFrame(
details: object,
callback?: function,
)
Pobiera informacje o danej ramce. Ramka oznacza element <iframe> lub <frame> strony internetowej. Jest identyfikowany przez identyfikator karty oraz identyfikator ramki.
Parametry
-
szczegóły
obiekt
Informacje o klatce, o której mają być pobierane informacje.
-
documentId
ciąg znaków opcjonalny
Chrome 106 i nowsze wersjeIdentyfikator UUID dokumentu. Jeśli podany jest identyfikator iframe lub tabId, zostaną one zweryfikowane pod kątem zgodności z dokumentem znalezionym na podstawie podanego identyfikatora dokumentu.
-
frameId
Liczba opcjonalnie
Identyfikator ramki na danej karcie.
-
processId
Liczba opcjonalnie
Wycofane od Chrome 49Ramki są teraz jednoznacznie identyfikowane na podstawie identyfikatora karty i identyfikatora ramki. Identyfikator procesu nie jest już potrzebny, więc jest ignorowany.
Identyfikator procesu, który uruchamia mechanizm renderowania tej karty.
-
tabId
Liczba opcjonalnie
Identyfikator karty, na której znajduje się ramka.
-
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(details?: object) => void
-
szczegóły
obiekt opcjonalnie
Informacje o żądanej ramce; wartość null, jeśli podany identyfikator ramki lub identyfikator karty są nieprawidłowe.
-
documentId
string,
Chrome 106 i nowsze wersjeZaładowano identyfikator UUID dokumentu.
-
documentLifecycleChrome 106 i nowsze wersje
Cykl życia dokumentu.
-
errorOccurred
boolean
Prawda, jeśli ostatnia nawigacja w tej ramce została przerwana przez błąd, tj. uruchomiono zdarzenie onErrorOccurred.
-
frameTypeChrome 106 i nowsze wersje
Typ klatki, w której wystąpiła nawigacja.
-
parentDocumentId
ciąg znaków opcjonalny
Chrome 106 i nowsze wersjeIdentyfikator UUID dokumentu nadrzędnego, do którego należy ta ramka. Ta wartość nie jest ustawiona, jeśli nie ma elementu nadrzędnego.
-
parentFrameId
Liczba
Identyfikator ramki nadrzędnej lub
-1
, jeśli jest to ramka główna. -
URL
string,
Adres URL powiązany obecnie z tą ramką, jeśli ramka o określonej przez parametr frameId istniała w jednym miejscu na danej karcie. Fakt powiązania adresu URL z danym parametrem frameId nie oznacza, że dana ramka nadal istnieje.
-
-
Zwroty
-
Promise<object | undefined>
Chrome w wersji 93 i nowszychObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
Wydarzenia
onBeforeNavigate
chrome.webNavigation.onBeforeNavigate.addListener(
callback: function,
filters?: object,
)
Uruchamiane, gdy zbliża się nawigacja.
Parametry
-
funkcja
Parametr
callback
wygląda tak:(details: object) => void
-
obiekt
-
Chrome 106 i nowsze wersje
Cykl życia dokumentu.
-
Liczba
0 oznacza, że nawigacja odbywa się w oknie zawartości karty. Wartość dodatnia oznacza nawigację w ramce podrzędnej. Identyfikatory ramek są unikalne w obrębie danej karty i danego procesu.
-
Chrome 106 i nowsze wersje
Typ klatki, w której wystąpiła nawigacja.
-
ciąg znaków opcjonalny
Chrome 106 i nowsze wersjeIdentyfikator UUID dokumentu nadrzędnego, do którego należy ta ramka. Ta wartość nie jest ustawiona, jeśli nie ma elementu nadrzędnego.
-
Liczba
Identyfikator ramki nadrzędnej lub
-1
, jeśli jest to ramka główna. -
Liczba
Wycofana od Chrome 50Identyfikator procesu nie jest już ustawiony dla tego zdarzenia, ponieważ proces, który wyrenderuje wynikowy dokument, nie będzie znany do czasu onCommit.
Wartość -1.
-
Liczba
Identyfikator karty, na której ma nastąpić nawigacja.
-
Liczba
Godzina, o której przeglądarka miała rozpocząć nawigację, w milisekundach od początku epoki.
-
string,
-
-
-
obiekt opcjonalnie
-
Warunki, do których musi przechodzić użytkownik otwieranego adresu URL. Pola „schemes” i „ports” obiektu UrlFilter są ignorowane w przypadku tego zdarzenia.
-
onCommitted
chrome.webNavigation.onCommitted.addListener(
callback: function,
filters?: object,
)
Uruchamiane po zatwierdzeniu nawigacji. Dokument (i zasoby, do których się on odnosi, takie jak obrazy i ramki podrzędne) może być nadal pobierany, ale przynajmniej jego część została odebrana z serwera i przeglądarka zdecydowała się przełączyć na nowy dokument.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(details: object) => void
-
szczegóły
obiekt
-
documentId
string,
Chrome 106 i nowsze wersjeZaładowano identyfikator UUID dokumentu.
-
documentLifecycleChrome 106 i nowsze wersje
Cykl życia dokumentu.
-
frameId
Liczba
0 oznacza, że nawigacja odbywa się w oknie zawartości karty. Wartość dodatnia oznacza nawigację w ramce podrzędnej. Identyfikatory klatek są unikalne w obrębie karty.
-
frameTypeChrome 106 i nowsze wersje
Typ klatki, w której wystąpiła nawigacja.
-
parentDocumentId
ciąg znaków opcjonalny
Chrome 106 i nowsze wersjeIdentyfikator UUID dokumentu nadrzędnego, do którego należy ta ramka. Ta wartość nie jest ustawiona, jeśli nie ma elementu nadrzędnego.
-
parentFrameId
Liczba
Chrome 74 i nowszyIdentyfikator ramki nadrzędnej lub
-1
, jeśli jest to ramka główna. -
processId
Liczba
Identyfikator procesu, który uruchamia mechanizm renderowania tej klatki.
-
tabId
Liczba
Identyfikator karty, na której następuje nawigacja.
-
timeStamp
Liczba
Czas zatwierdzenia nawigacji w milisekundach od początku epoki.
-
transitionQualifiers
Lista kwalifikatorów przejścia.
-
transitionType
Przyczyna nawigacji.
-
URL
string,
-
-
-
filtry
obiekt opcjonalnie
-
URL
Warunki, do których musi przechodzić użytkownik otwieranego adresu URL. Pola „schemes” i „ports” obiektu UrlFilter są ignorowane w przypadku tego zdarzenia.
-
onCompleted
chrome.webNavigation.onCompleted.addListener(
callback: function,
filters?: object,
)
Uruchamiane, gdy dokument, wraz z zasobami, do których się odnosi, zostanie w pełni wczytany i zainicjowany.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(details: object) => void
-
szczegóły
obiekt
-
documentId
string,
Chrome 106 i nowsze wersjeZaładowano identyfikator UUID dokumentu.
-
documentLifecycleChrome 106 i nowsze wersje
Cykl życia dokumentu.
-
frameId
Liczba
0 oznacza, że nawigacja odbywa się w oknie zawartości karty. Wartość dodatnia oznacza nawigację w ramce podrzędnej. Identyfikatory klatek są unikalne w obrębie karty.
-
frameTypeChrome 106 i nowsze wersje
Typ klatki, w której wystąpiła nawigacja.
-
parentDocumentId
ciąg znaków opcjonalny
Chrome 106 i nowsze wersjeIdentyfikator UUID dokumentu nadrzędnego, do którego należy ta ramka. Ta wartość nie jest ustawiona, jeśli nie ma elementu nadrzędnego.
-
parentFrameId
Liczba
Chrome 74 i nowszyIdentyfikator ramki nadrzędnej lub
-1
, jeśli jest to ramka główna. -
processId
Liczba
Identyfikator procesu, który uruchamia mechanizm renderowania tej klatki.
-
tabId
Liczba
Identyfikator karty, na której następuje nawigacja.
-
timeStamp
Liczba
Czas zakończenia wczytywania dokumentu (w milisekundach od początku epoki).
-
URL
string,
-
-
-
filtry
obiekt opcjonalnie
-
URL
Warunki, do których musi przechodzić użytkownik otwieranego adresu URL. Pola „schemes” i „ports” obiektu UrlFilter są ignorowane w przypadku tego zdarzenia.
-
onCreatedNavigationTarget
chrome.webNavigation.onCreatedNavigationTarget.addListener(
callback: function,
filters?: object,
)
Uruchamiane po utworzeniu nowego okna lub nowej karty w istniejącym oknie na potrzeby nawigacji.
Parametry
-
funkcja
Parametr
callback
wygląda tak:(details: object) => void
-
obiekt
-
Liczba
Identyfikator ramki z identyfikatorem sourceTabId, w której aktywowano nawigację. 0 oznacza klatkę główną.
-
Liczba
Identyfikator procesu, który uruchamia mechanizm renderowania ramki źródłowej.
-
Liczba
Identyfikator karty, na której aktywowano nawigację.
-
Liczba
Identyfikator karty, na której jest otwarty adres URL.
-
Liczba
Godzina, w której przeglądarka miała utworzyć nowy widok, wyrażona w milisekundach od początku epoki.
-
string,
Adres URL, który zostanie otwarty w nowym oknie.
-
-
-
obiekt opcjonalnie
-
Warunki, do których musi przechodzić użytkownik otwieranego adresu URL. Pola „schemes” i „ports” obiektu UrlFilter są ignorowane w przypadku tego zdarzenia.
-
onDOMContentLoaded
chrome.webNavigation.onDOMContentLoaded.addListener(
callback: function,
filters?: object,
)
Uruchamiane, gdy model DOM strony jest w pełni skonstruowany, ale przywołane zasoby mogą nie zostać wczytane w całości.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(details: object) => void
-
szczegóły
obiekt
-
documentId
string,
Chrome 106 i nowsze wersjeZaładowano identyfikator UUID dokumentu.
-
documentLifecycleChrome 106 i nowsze wersje
Cykl życia dokumentu.
-
frameId
Liczba
0 oznacza, że nawigacja odbywa się w oknie zawartości karty. Wartość dodatnia oznacza nawigację w ramce podrzędnej. Identyfikatory klatek są unikalne w obrębie karty.
-
frameTypeChrome 106 i nowsze wersje
Typ klatki, w której wystąpiła nawigacja.
-
parentDocumentId
ciąg znaków opcjonalny
Chrome 106 i nowsze wersjeIdentyfikator UUID dokumentu nadrzędnego, do którego należy ta ramka. Ta wartość nie jest ustawiona, jeśli nie ma elementu nadrzędnego.
-
parentFrameId
Liczba
Chrome 74 i nowszyIdentyfikator ramki nadrzędnej lub
-1
, jeśli jest to ramka główna. -
processId
Liczba
Identyfikator procesu, który uruchamia mechanizm renderowania tej klatki.
-
tabId
Liczba
Identyfikator karty, na której następuje nawigacja.
-
timeStamp
Liczba
Czas, w którym model DOM strony został w pełni skonstruowany, podany w milisekundach od początku epoki.
-
URL
string,
-
-
-
filtry
obiekt opcjonalnie
-
URL
Warunki, do których musi przechodzić użytkownik otwieranego adresu URL. Pola „schemes” i „ports” obiektu UrlFilter są ignorowane w przypadku tego zdarzenia.
-
onErrorOccurred
chrome.webNavigation.onErrorOccurred.addListener(
callback: function,
filters?: object,
)
Uruchamiane, gdy wystąpi błąd i nawigacja zostanie przerwana. Może się tak zdarzyć, jeśli wystąpił błąd sieci lub użytkownik przerwał nawigację.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(details: object) => void
-
szczegóły
obiekt
-
documentId
string,
Chrome 106 i nowsze wersjeZaładowano identyfikator UUID dokumentu.
-
documentLifecycleChrome 106 i nowsze wersje
Cykl życia dokumentu.
-
error
string,
Opis błędu.
-
frameId
Liczba
0 oznacza, że nawigacja odbywa się w oknie zawartości karty. Wartość dodatnia oznacza nawigację w ramce podrzędnej. Identyfikatory klatek są unikalne w obrębie karty.
-
frameTypeChrome 106 i nowsze wersje
Typ klatki, w której wystąpiła nawigacja.
-
parentDocumentId
ciąg znaków opcjonalny
Chrome 106 i nowsze wersjeIdentyfikator UUID dokumentu nadrzędnego, do którego należy ta ramka. Ta wartość nie jest ustawiona, jeśli nie ma elementu nadrzędnego.
-
parentFrameId
Liczba
Chrome 74 i nowszyIdentyfikator ramki nadrzędnej lub
-1
, jeśli jest to ramka główna. -
processId
Liczba
Wycofana od Chrome 50Identyfikator procesu nie jest już ustawiony dla tego zdarzenia.
Wartość -1.
-
tabId
Liczba
Identyfikator karty, na której następuje nawigacja.
-
timeStamp
Liczba
Czas wystąpienia błędu (w milisekundach od początku epoki).
-
URL
string,
-
-
-
filtry
obiekt opcjonalnie
-
URL
Warunki, do których musi przechodzić użytkownik otwieranego adresu URL. Pola „schemes” i „ports” obiektu UrlFilter są ignorowane w przypadku tego zdarzenia.
-
onHistoryStateUpdated
chrome.webNavigation.onHistoryStateUpdated.addListener(
callback: function,
filters?: object,
)
Uruchamiane, gdy historia ramki została zaktualizowana pod nowy adres URL. Wszystkie przyszłe zdarzenia związane z tą ramką będą używać zaktualizowanego adresu URL.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(details: object) => void
-
szczegóły
obiekt
-
documentId
string,
Chrome 106 i nowsze wersjeZaładowano identyfikator UUID dokumentu.
-
documentLifecycleChrome 106 i nowsze wersje
Cykl życia dokumentu.
-
frameId
Liczba
0 oznacza, że nawigacja odbywa się w oknie zawartości karty. Wartość dodatnia oznacza nawigację w ramce podrzędnej. Identyfikatory klatek są unikalne w obrębie karty.
-
frameTypeChrome 106 i nowsze wersje
Typ klatki, w której wystąpiła nawigacja.
-
parentDocumentId
ciąg znaków opcjonalny
Chrome 106 i nowsze wersjeIdentyfikator UUID dokumentu nadrzędnego, do którego należy ta ramka. Ta wartość nie jest ustawiona, jeśli nie ma elementu nadrzędnego.
-
parentFrameId
Liczba
Chrome 74 i nowszyIdentyfikator ramki nadrzędnej lub
-1
, jeśli jest to ramka główna. -
processId
Liczba
Identyfikator procesu, który uruchamia mechanizm renderowania tej klatki.
-
tabId
Liczba
Identyfikator karty, na której następuje nawigacja.
-
timeStamp
Liczba
Czas zatwierdzenia nawigacji w milisekundach od początku epoki.
-
transitionQualifiers
Lista kwalifikatorów przejścia.
-
transitionType
Przyczyna nawigacji.
-
URL
string,
-
-
-
filtry
obiekt opcjonalnie
-
URL
Warunki, do których musi przechodzić użytkownik otwieranego adresu URL. Pola „schemes” i „ports” obiektu UrlFilter są ignorowane w przypadku tego zdarzenia.
-
onReferenceFragmentUpdated
chrome.webNavigation.onReferenceFragmentUpdated.addListener(
callback: function,
filters?: object,
)
Uruchamiane po zaktualizowaniu fragmentu referencyjnego ramki. Wszystkie przyszłe zdarzenia związane z tą ramką będą używać zaktualizowanego adresu URL.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(details: object) => void
-
szczegóły
obiekt
-
documentId
string,
Chrome 106 i nowsze wersjeZaładowano identyfikator UUID dokumentu.
-
documentLifecycleChrome 106 i nowsze wersje
Cykl życia dokumentu.
-
frameId
Liczba
0 oznacza, że nawigacja odbywa się w oknie zawartości karty. Wartość dodatnia oznacza nawigację w ramce podrzędnej. Identyfikatory klatek są unikalne w obrębie karty.
-
frameTypeChrome 106 i nowsze wersje
Typ klatki, w której wystąpiła nawigacja.
-
parentDocumentId
ciąg znaków opcjonalny
Chrome 106 i nowsze wersjeIdentyfikator UUID dokumentu nadrzędnego, do którego należy ta ramka. Ta wartość nie jest ustawiona, jeśli nie ma elementu nadrzędnego.
-
parentFrameId
Liczba
Chrome 74 i nowszyIdentyfikator ramki nadrzędnej lub
-1
, jeśli jest to ramka główna. -
processId
Liczba
Identyfikator procesu, który uruchamia mechanizm renderowania tej klatki.
-
tabId
Liczba
Identyfikator karty, na której następuje nawigacja.
-
timeStamp
Liczba
Czas zatwierdzenia nawigacji w milisekundach od początku epoki.
-
transitionQualifiers
Lista kwalifikatorów przejścia.
-
transitionType
Przyczyna nawigacji.
-
URL
string,
-
-
-
filtry
obiekt opcjonalnie
-
URL
Warunki, do których musi przechodzić użytkownik otwieranego adresu URL. Pola „schemes” i „ports” obiektu UrlFilter są ignorowane w przypadku tego zdarzenia.
-
onTabReplaced
chrome.webNavigation.onTabReplaced.addListener(
callback: function,
)
Uruchamiane, gdy zawartość karty zostanie zastąpiona inną (zwykle wstępnie wyrenderowaną) kartą.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(details: object) => void
-
szczegóły
obiekt
-
replacedTabId
Liczba
Identyfikator zastąpionej karty.
-
tabId
Liczba
Identyfikator karty, która zastąpiła starą.
-
timeStamp
Liczba
Czas wymiany (w milisekundach od początku epoki).
-
-