chrome.webNavigation

Opis

Używaj interfejsu chrome.webNavigation API, aby otrzymywać powiadomienia o stanie przesyłanych żądań nawigacji.

Uprawnienia

webNavigation

Wszystkie metody i zdarzenia chrome.webNavigation wymagają zadeklarowania uprawnienia "webNavigation" w pliku manifestu rozszerzenia. Na przykład:

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

Pojęcia i zastosowanie

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 uruchomiona przez wyszukiwanie dynamiczne w Chrome lub strony dynamiczne, w pełni wczytana strona jest wyświetlana na bieżącej karcie. 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 – na przykład może to być wstępnie renderowana karta. Takie karty nie są dostępne za pomocą interfejsu tabs API i nie można prosić o informacje o nich, wywołując 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 zdarzenia WebNavigation jest gwarantowana tylko wewnętrznie spójna.timeStamp Porównanie jednego zdarzenia do innego pozwoli uzyskać właściwe przesunięcie, ale porównanie czasu z bieżącą datą w rozszerzeniu (np. za pomocą funkcji (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 parametrami frameId. 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 webNavigation onCommitted ma właściwość 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ściaOpis
"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

Chrome 44 i nowsze wersje

Enum

"client_redirect"

"server_redirect"

"forward_back"

"from_address_bar"

TransitionType

Chrome 44 i nowsze wersje

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ą).

Enum

"typed"

"auto_bookmark"

"auto_subframe"

"manual_subframe"

"start_page"

"form_submit"

"keyword_generated"

Metody

getAllFrames()

Obietnica
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 wersje

        Załadowano identyfikator UUID dokumentu.

      • documentLifecycle
        Chrome 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.

      • frameType
        Chrome 106 i nowsze wersje

        Typ klatki, w której wystąpiła nawigacja.

      • parentDocumentId

        ciąg znaków opcjonalny

        Chrome 106 i nowsze wersje

        Identyfikator 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ą.

Akcje powrotne

  • Promise<object[]|undefined>

    Chrome w wersji 93 i nowszych

    Obietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.

getFrame()

Obietnica
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 wersje

      Identyfikator 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 49

      Ramki 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 wersje

        Załadowano identyfikator UUID dokumentu.

      • documentLifecycle
        Chrome 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.

      • frameType
        Chrome 106 i nowsze wersje

        Typ klatki, w której wystąpiła nawigacja.

      • parentDocumentId

        ciąg znaków opcjonalny

        Chrome 106 i nowsze wersje

        Identyfikator 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.

Akcje powrotne

  • Promise<object|undefined>

    Chrome w wersji 93 i nowszych

    Obietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.

Wydarzenia

onBeforeNavigate

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

Uruchamiane, gdy zbliża się nawigacja.

Parametry

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (details: object)=>void

    • szczegóły

      obiekt

      • Chrome 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 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.

      • parentDocumentId

        ciąg znaków opcjonalny

        Chrome 106 i nowsze wersje

        Identyfikator 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

        Wycofana od Chrome 50

        Identyfikator procesu nie jest już ustawiony dla tego zdarzenia, ponieważ proces, który wyrenderuje wynikowy dokument, nie będzie znany do czasu onCommit.

        Wartość -1.

      • tabId

        Liczba

        Identyfikator karty, na której ma nastąpić nawigacja.

      • timeStamp

        Liczba

        Godzina, o której przeglądarka miała rozpocząć nawigację, w milisekundach od początku epoki.

      • URL

        string,

  • filtry

    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 wersje

        Załadowano identyfikator UUID dokumentu.

      • Chrome 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.

      • Chrome 106 i nowsze wersje

        Typ klatki, w której wystąpiła nawigacja.

      • parentDocumentId

        ciąg znaków opcjonalny

        Chrome 106 i nowsze wersje

        Identyfikator 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 nowszy

        Identyfikator 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

    • 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 wersje

        Załadowano identyfikator UUID dokumentu.

      • Chrome 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.

      • Chrome 106 i nowsze wersje

        Typ klatki, w której wystąpiła nawigacja.

      • parentDocumentId

        ciąg znaków opcjonalny

        Chrome 106 i nowsze wersje

        Identyfikator 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 nowszy

        Identyfikator 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

    • 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

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (details: object)=>void

    • szczegóły

      obiekt

      • sourceFrameId

        Liczba

        Identyfikator ramki z identyfikatorem sourceTabId, w której aktywowano nawigację. 0 oznacza klatkę główną.

      • sourceProcessId

        Liczba

        Identyfikator procesu, który uruchamia mechanizm renderowania ramki źródłowej.

      • sourceTabId

        Liczba

        Identyfikator karty, na której aktywowano nawigację.

      • tabId

        Liczba

        Identyfikator karty, na której jest otwarty adres URL.

      • timeStamp

        Liczba

        Godzina, w której przeglądarka miała utworzyć nowy widok, wyrażona w milisekundach od początku epoki.

      • URL

        string,

        Adres URL, który zostanie otwarty w nowym oknie.

  • filtry

    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 wersje

        Załadowano identyfikator UUID dokumentu.

      • Chrome 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.

      • Chrome 106 i nowsze wersje

        Typ klatki, w której wystąpiła nawigacja.

      • parentDocumentId

        ciąg znaków opcjonalny

        Chrome 106 i nowsze wersje

        Identyfikator 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 nowszy

        Identyfikator 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

    • 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 wersje

        Załadowano identyfikator UUID dokumentu.

      • Chrome 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.

      • Chrome 106 i nowsze wersje

        Typ klatki, w której wystąpiła nawigacja.

      • parentDocumentId

        ciąg znaków opcjonalny

        Chrome 106 i nowsze wersje

        Identyfikator 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 nowszy

        Identyfikator ramki nadrzędnej lub -1, jeśli jest to ramka główna.

      • processId

        Liczba

        Wycofana od Chrome 50

        Identyfikator 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

    • 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 wersje

        Załadowano identyfikator UUID dokumentu.

      • Chrome 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.

      • Chrome 106 i nowsze wersje

        Typ klatki, w której wystąpiła nawigacja.

      • parentDocumentId

        ciąg znaków opcjonalny

        Chrome 106 i nowsze wersje

        Identyfikator 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 nowszy

        Identyfikator 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

    • 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 wersje

        Załadowano identyfikator UUID dokumentu.

      • Chrome 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.

      • Chrome 106 i nowsze wersje

        Typ klatki, w której wystąpiła nawigacja.

      • parentDocumentId

        ciąg znaków opcjonalny

        Chrome 106 i nowsze wersje

        Identyfikator 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 nowszy

        Identyfikator 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

    • 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).