chrome.webNavigation

Opis

Używaj interfejsu API chrome.webNavigation, aby otrzymywać powiadomienia o stanie próśb o nawigację w drodze.

Uprawnienia

webNavigation

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

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

Pojęcia i wykorzystanie

Kolejność zdarzeń

Ukończona nawigacja jest uruchamiana ze zdarzeniami w następującej kolejności:

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

Każdy błąd występujący w trakcie tego procesu skutkuje zdarzeniem onErrorOccurred. Konkretna nie uruchamiają się kolejne zdarzenia po onErrorOccurred.

Jeśli ramka nawigacyjna zawiera ramki podrzędne, jej element onCommitted jest uruchamiany przed tagiem podrzędnym onBeforeNavigate a onCompleted jest uruchamiany po wszystkich jego zdarzeniach podrzędnych onCompleted.

Jeśli zmieni się fragment odniesienia w ramce, wywoływane jest zdarzenie onReferenceFragmentUpdated. Ten zdarzenie może zostać wysłane w dowolnym momencie po onDOMContentLoaded, nawet po onCompleted.

Jeśli do modyfikowania stanu ramki używany jest interfejs History API (np. za pomocą interfejsu history.pushState(), Uruchamiane 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 można uruchomić. Zdarzenie nie jest wywoływane, ponieważ treść została już wczytana, gdy strona została odwiedzona po raz pierwszy.

Jeśli nawigacja została wywołana za pomocą wyszukiwania dynamicznego w Chrome lub stron błyskawicznych, strona wczytywana w całości strona zostanie zastąpiona bieżącą kartą. W takim przypadku wywoływane jest zdarzenie onTabReplaced.

Relacja ze zdarzeniami webRequest

Nie ma zdefiniowanej kolejności zdarzeń z interfejsu API webRequest WebNavigation API. Możliwe, że zdarzenia WebRequest nadal będą odbierane w przypadku ramek, które już rozpoczęto nową nawigację lub przejście do niej następuje dopiero wtedy, gdy zasoby sieciowe są już dostępne w pełni załadowany.

Ogólnie zdarzenia webNavigation są ściśle powiązane ze stanem nawigacji w interfejsie użytkownika, a zdarzenia webRequest odpowiadają stanowi stosu sieciowego, są zazwyczaj nieczytelne dla użytkownika.

Identyfikatory kart

Nie wszystkie karty do poruszania się odpowiadają kartom w interfejsie Chrome. Na przykład karta, która jest wstępnie wyrenderowana. Takie karty nie są dostępne przy użyciu interfejsu API Tabs i nie można prosić o informacje o nich, zadzwoń pod numer webNavigation.getFrame() lub webNavigation.getAllFrames(). Gdy taka karta zostanie zastąpione zdarzenie onTabReplaced, które staje się dostępne przez te interfejsy API.

Sygnatury czasowe

Warto zauważyć, że system operacyjny obsługuje pewne dziwne problemy techniczne z różnymi mogą spowodować zniekształcenia zegara między samą przeglądarką a procesami rozszerzeń. To oznacza, że właściwość timeStamp we właściwości timeStamp zdarzenia WebNavigation jest gwarantowana tylko zachować spójność wewnętrznie. Porównanie jednego wydarzenia z innym zapewni dokładne przesunięcie między nimi, ale porównując je z bieżącym czasem w rozszerzeniu (za pomocą funkcji (new Date()).getTime(), np.) mogą przynieść nieoczekiwane rezultaty.

Identyfikatory ramek

Ramki na karcie można rozpoznać po identyfikatorze ramki. Identyfikator ramki głównej to zawsze 0, Identyfikator ramek podrzędnych jest liczbą dodatnią. Po utworzeniu dokumentu w ramce identyfikator tej ramki pozostaje bez zmian przez cały okres istnienia dokumentu. Od Chrome 49 ten identyfikator jest też stały dla czas wyświetlania klatki (w ramach wielu nawigacji).

Ze względu na wieloprocesowy charakter Chrome karta może wykorzystywać inne procesy do renderowania źródła. i miejsce docelowe strony. Dlatego, jeśli nawigacja odbywa się w nowym procesie, zdarzeń ze starej i nowej strony do momentu wprowadzenia nowej nawigacji (tj. dla nowej ramki głównej wysyłane jest zdarzenie onCommitted. Innymi słowy, można zwiększyć niż jedną oczekującą sekwencję zdarzeń WebNavigation z tą samą wartością frameId. Sekwencje mogą być można je rozpoznać po kluczu processId.

Pamiętaj też, że podczas wczytywania tymczasowego proces może zostać kilkakrotnie przełączony. Dzieje się tak gdy wczytywanie jest przekierowywane na inną stronę. W takim przypadku otrzymasz kilka odpowiedzi. onBeforeNavigate i onErrorOccurred, aż otrzymasz ostatnie zdarzenie onCommitted.

Kolejny problem związany z rozszerzeniami to cykl życia ramki. Ramka zawiera dokument (powiązany z zatwierdzonym adresem URL). Dokument może się zmienić (np. w nawigacji), ale parametr frameId nie. trudno powiązać, że coś się wydarzyło w konkretnym dokumencie tylko frameIds. Wprowadzamy pojęcie documentId. który jest unikalnym identyfikatorem dokumentu. Jeśli po przejściu w ramach ramki otworzy się nowy dokument, identyfikator się zmieni. To pole jest przydatne do określania, gdy strony zmieniają stan cyklu życia (między renderowaniem wstępnym/aktywnym/pamięcią podręczną). bo nic się nie zmienia.

Typy przejść i kwalifikatory

Zdarzenie webNavigation o nazwie onCommitted ma wartości transitionType i transitionQualifiers usłudze. Typ przejścia jest taki sam jak używany w interfejsie API historii opisującym sposób użytkownik przeszedł na dany adres URL. Poza tym można podać kilka kwalifikatorów przejścia, zwróciła bardziej szczegółową definicję nawigacji.

Istnieją te kwalifikatory przejścia:

Kwalifikator przejściaOpis
„client_redirect”Podczas nawigacji na stronie wystąpiło co najmniej jedno przekierowanie spowodowane przez tagi JavaScript lub metaodświeżanie.
„server_redirect”Podczas nawigacji wystąpiło co najmniej jedno przekierowanie spowodowane przez nagłówki HTTP wysłane z serwera.
„forward_back”Użytkownik użył przycisku Dalej lub Wstecz, aby rozpocząć nawigację.
"from_address_bar"Użytkownik zainicjował nawigację z paska adresu (nazywanego też omniboksem).

Przykłady

Aby wypróbować ten interfejs API, zainstaluj przykładowy interfejs webNavigation API ze strony chrome-extension-samples. z repozytorium.

Typy

TransitionQualifier

Chrome w wersji 44 lub nowszej

Typ wyliczeniowy

"client_redirect"

"server_redirect"

"forward_back"

"from_address_bar"

TransitionType

Chrome w wersji 44 lub nowszej

Przyczyna nawigacji. Użyto tych samych typów przejść, które są określone w interfejsie History API. Są to te same typy przejść, które zostały zdefiniowane w interfejsie API historii, z wyjątkiem użycia "start_page" zamiast "auto_toplevel" (w celu zapewnienia zgodności wstecznej).

Typ wyliczeniowy

"link"

"typed"

"auto_bookmark"

"auto_subframe"

"manual_subframe",

"wygenerowano"

"start_page"

"form_submit"

"reload"

"słowo kluczowe"

"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ą zostać pobrane wszystkie klatki.

    • tabId

      liczba

      Identyfikator karty.

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    (details?: object[]) => void
    .

    • szczegóły

      obiekt[] opcjonalny

      Lista ramek na danej karcie. Jeśli podany identyfikator karty jest nieprawidłowy, ma wartość null.

      • documentId

        ciąg znaków

        Chrome 106 lub nowszy

        Identyfikator UUID wczytanego dokumentu.

      • documentLifecycle
        Chrome 106 lub nowszy

        Cykl życia dokumentu.

      • errorOccurred

        wartość logiczna

        Wartość true, jeśli ostatnie przejście w tej ramce zostało przerwane w wyniku błędu, tj. zostało uruchomione zdarzenie onErrorOccurred.

      • frameId

        liczba

        Identyfikator ramki. 0 oznacza, że jest to ramka główna. wartość dodatnia wskazuje identyfikator ramki podrzędnej.

      • frameType
        Chrome 106 lub nowszy

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

      • parentDocumentId

        ciąg znaków opcjonalny

        Chrome 106 lub nowszy

        Identyfikator UUID dokumentu nadrzędnego, w którym znajduje się 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 danej ramki.

      • URL

        ciąg znaków

        Adres URL aktualnie powiązany z tą ramką.

Zwroty

  • Promise<object[] | niezdefiniowane>

    Chrome w wersji 93 lub nowszej

    Obietnice są obsługiwane w Manifest V3 i nowszych, ale wywołania zwrotne są podane w przypadku zgodność wsteczną. Nie można użyć obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane 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 odnosi się do elementu <iframe> lub <frame> na stronie internetowej i identyfikowany na podstawie identyfikatora karty i ramki.

Parametry

  • szczegóły

    Obiekt

    Informacje o ramce, o której mają zostać pobrane informacje.

    • documentId

      ciąg znaków opcjonalny

      Chrome 106 lub nowszy

      Identyfikator UUID dokumentu. Jeśli podasz identyfikator frameId 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 ramki. identyfikator procesu nie jest już potrzebny i dlatego 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 optional

    Parametr callback wygląda tak:

    (details?: object) => void
    .

    • szczegóły

      obiekt opcjonalny

      Informacje o żądanej ramce. Jeśli podany identyfikator ramki lub identyfikator karty jest nieprawidłowy, mają wartość null.

      • documentId

        ciąg znaków

        Chrome 106 lub nowszy

        Identyfikator UUID wczytanego dokumentu.

      • documentLifecycle
        Chrome 106 lub nowszy

        Cykl życia dokumentu.

      • errorOccurred

        wartość logiczna

        Wartość true, jeśli ostatnie przejście w tej ramce zostało przerwane w wyniku błędu, tj. zostało uruchomione zdarzenie onErrorOccurred.

      • frameType
        Chrome 106 lub nowszy

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

      • parentDocumentId

        ciąg znaków opcjonalny

        Chrome 106 lub nowszy

        Identyfikator UUID dokumentu nadrzędnego, w którym znajduje się 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

        ciąg znaków

        Adres URL aktualnie powiązany z tą ramką, jeśli ramka wskazana przez parametr frameId istniała w jakimś miejscu na danej karcie. Fakt, że adres URL jest powiązany z danym parametrem frameId, nie oznacza, że dana ramka wciąż istnieje.

Zwroty

  • Promise&lt;object | niezdefiniowane>

    Chrome w wersji 93 lub nowszej

    Obietnice są obsługiwane w Manifest V3 i nowszych, ale wywołania zwrotne są podane w przypadku zgodność wsteczną. Nie można użyć obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.

Wydarzenia

onBeforeNavigate

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

Uruchamiane, gdy nawigacja ma miejsce.

Parametry

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (details: object) => void
    .

    • szczegóły

      Obiekt

      • Chrome 106 lub nowszy

        Cykl życia dokumentu.

      • frameId

        liczba

        0 oznacza, że nawigacja odbywa się w oknie zawartości karty. wartość dodatnia wskazuje nawigację w ramce podrzędnej. Identyfikator ramki jest unikalny dla danej karty i procesu.

      • Chrome 106 lub nowszy

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

      • parentDocumentId

        ciąg znaków opcjonalny

        Chrome 106 lub nowszy

        Identyfikator UUID dokumentu nadrzędnego, w którym znajduje się 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

        Wycofane od Chrome 50

        Wartość procesId nie jest już ustawiona dla tego zdarzenia, ponieważ proces, który renderuje powstały dokument, jest znany dopiero w onCommit.

        Wartość –1.

      • tabId

        liczba

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

      • timeStamp

        liczba

        Czas rozpoczęcia nawigacji przez przeglądarkę (w milisekundach od początku epoki).

      • URL

        ciąg znaków

  • filtry

    obiekt opcjonalny

    • Warunki, które musi spełniać otwierany adres URL. Schematy i „porty” Pola 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ć wciąż pobierany, ale co najmniej 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

        ciąg znaków

        Chrome 106 lub nowszy

        Identyfikator UUID wczytanego dokumentu.

      • Chrome 106 lub nowszy

        Cykl życia dokumentu.

      • frameId

        liczba

        0 oznacza, że nawigacja odbywa się w oknie zawartości karty. wartość dodatnia wskazuje nawigację w ramce podrzędnej. Identyfikatory ramek są unikalne w obrębie danej karty.

      • Chrome 106 lub nowszy

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

      • parentDocumentId

        ciąg znaków opcjonalny

        Chrome 106 lub nowszy

        Identyfikator UUID dokumentu nadrzędnego, w którym znajduje się ta ramka. Ta wartość nie jest ustawiona, jeśli nie ma elementu nadrzędnego.

      • parentFrameId

        liczba

        Chrome w wersji 74 lub nowszej

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

      • processId

        liczba

        Identyfikator procesu, który uruchamia mechanizm renderowania danej ramki.

      • tabId

        liczba

        Identyfikator karty, na której odbywa się nawigacja.

      • timeStamp

        liczba

        Czas zatwierdzenia nawigacji (w milisekundach od początku epoki).

      • transitionQualifiers

        Lista kwalifikatorów przejścia.

      • transitionType

        Przyczyna nawigacji.

      • URL

        ciąg znaków

  • filtry

    obiekt opcjonalny

    • Warunki, które musi spełniać otwierany adres URL. Schematy i „porty” Pola 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

        ciąg znaków

        Chrome 106 lub nowszy

        Identyfikator UUID wczytanego dokumentu.

      • Chrome 106 lub nowszy

        Cykl życia dokumentu.

      • frameId

        liczba

        0 oznacza, że nawigacja odbywa się w oknie zawartości karty. wartość dodatnia wskazuje nawigację w ramce podrzędnej. Identyfikatory ramek są unikalne w obrębie danej karty.

      • Chrome 106 lub nowszy

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

      • parentDocumentId

        ciąg znaków opcjonalny

        Chrome 106 lub nowszy

        Identyfikator UUID dokumentu nadrzędnego, w którym znajduje się ta ramka. Ta wartość nie jest ustawiona, jeśli nie ma elementu nadrzędnego.

      • parentFrameId

        liczba

        Chrome w wersji 74 lub nowszej

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

      • processId

        liczba

        Identyfikator procesu, który uruchamia mechanizm renderowania danej ramki.

      • tabId

        liczba

        Identyfikator karty, na której odbywa się nawigacja.

      • timeStamp

        liczba

        Czas zakończenia wczytywania dokumentu (w milisekundach od początku epoki).

      • URL

        ciąg znaków

  • filtry

    obiekt opcjonalny

    • Warunki, które musi spełniać otwierany adres URL. Schematy i „porty” Pola UrlFilter są ignorowane w przypadku tego zdarzenia.

onCreatedNavigationTarget

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

Uruchamiane, gdy w istniejącym oknie zostanie utworzona nowa karta lub nowe okno przeznaczone na nawigację.

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 uruchomiono nawigację. 0 oznacza klatkę główną.

      • sourceProcessId

        liczba

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

      • sourceTabId

        liczba

        Identyfikator karty, po której uruchomiono nawigację.

      • tabId

        liczba

        Identyfikator karty, na której został otwarty adres URL

      • timeStamp

        liczba

        Godzina utworzenia nowego widoku w przeglądarce (w milisekundach od początku epoki).

      • URL

        ciąg znaków

        Adres URL, który ma zostać otwarty w nowym oknie.

  • filtry

    obiekt opcjonalny

    • Warunki, które musi spełniać otwierany adres URL. Schematy i „porty” Pola UrlFilter są ignorowane w przypadku tego zdarzenia.

onDOMContentLoaded

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

Uruchamiane, gdy DOM strony jest w pełni skonstruowany, ale wczytywane zasoby mogą się nie wczytać do końca.

Parametry

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (details: object) => void
    .

    • szczegóły

      Obiekt

      • documentId

        ciąg znaków

        Chrome 106 lub nowszy

        Identyfikator UUID wczytanego dokumentu.

      • Chrome 106 lub nowszy

        Cykl życia dokumentu.

      • frameId

        liczba

        0 oznacza, że nawigacja odbywa się w oknie zawartości karty. wartość dodatnia wskazuje nawigację w ramce podrzędnej. Identyfikatory ramek są unikalne w obrębie danej karty.

      • Chrome 106 lub nowszy

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

      • parentDocumentId

        ciąg znaków opcjonalny

        Chrome 106 lub nowszy

        Identyfikator UUID dokumentu nadrzędnego, w którym znajduje się ta ramka. Ta wartość nie jest ustawiona, jeśli nie ma elementu nadrzędnego.

      • parentFrameId

        liczba

        Chrome w wersji 74 lub nowszej

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

      • processId

        liczba

        Identyfikator procesu, który uruchamia mechanizm renderowania danej ramki.

      • tabId

        liczba

        Identyfikator karty, na której odbywa się nawigacja.

      • timeStamp

        liczba

        Czas utworzenia pełnego modelu DOM strony (w milisekundach od początku epoki).

      • URL

        ciąg znaków

  • filtry

    obiekt opcjonalny

    • Warunki, które musi spełniać otwierany adres URL. Schematy i „porty” Pola 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

        ciąg znaków

        Chrome 106 lub nowszy

        Identyfikator UUID wczytanego dokumentu.

      • Chrome 106 lub nowszy

        Cykl życia dokumentu.

      • błąd

        ciąg znaków

        Opis błędu.

      • frameId

        liczba

        0 oznacza, że nawigacja odbywa się w oknie zawartości karty. wartość dodatnia wskazuje nawigację w ramce podrzędnej. Identyfikatory ramek są unikalne w obrębie danej karty.

      • Chrome 106 lub nowszy

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

      • parentDocumentId

        ciąg znaków opcjonalny

        Chrome 106 lub nowszy

        Identyfikator UUID dokumentu nadrzędnego, w którym znajduje się ta ramka. Ta wartość nie jest ustawiona, jeśli nie ma elementu nadrzędnego.

      • parentFrameId

        liczba

        Chrome w wersji 74 lub nowszej

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

      • processId

        liczba

        Wycofane od Chrome 50

        Identyfikator procesu nie jest już ustawiony dla tego zdarzenia.

        Wartość –1.

      • tabId

        liczba

        Identyfikator karty, na której odbywa się nawigacja.

      • timeStamp

        liczba

        Czas wystąpienia błędu (w milisekundach od początku epoki).

      • URL

        ciąg znaków

  • filtry

    obiekt opcjonalny

    • Warunki, które musi spełniać otwierany adres URL. Schematy i „porty” Pola UrlFilter są ignorowane w przypadku tego zdarzenia.

onHistoryStateUpdated

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

Uruchamiane po zaktualizowaniu historii ramki do nowego adresu URL. Wszystkie przyszłe zdarzenia dotyczące tej ramki będą używać zaktualizowanego adresu URL.

Parametry

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (details: object) => void
    .

    • szczegóły

      Obiekt

      • documentId

        ciąg znaków

        Chrome 106 lub nowszy

        Identyfikator UUID wczytanego dokumentu.

      • Chrome 106 lub nowszy

        Cykl życia dokumentu.

      • frameId

        liczba

        0 oznacza, że nawigacja odbywa się w oknie zawartości karty. wartość dodatnia wskazuje nawigację w ramce podrzędnej. Identyfikatory ramek są unikalne w obrębie danej karty.

      • Chrome 106 lub nowszy

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

      • parentDocumentId

        ciąg znaków opcjonalny

        Chrome 106 lub nowszy

        Identyfikator UUID dokumentu nadrzędnego, w którym znajduje się ta ramka. Ta wartość nie jest ustawiona, jeśli nie ma elementu nadrzędnego.

      • parentFrameId

        liczba

        Chrome w wersji 74 lub nowszej

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

      • processId

        liczba

        Identyfikator procesu, który uruchamia mechanizm renderowania danej ramki.

      • tabId

        liczba

        Identyfikator karty, na której odbywa się nawigacja.

      • timeStamp

        liczba

        Czas zatwierdzenia nawigacji (w milisekundach od początku epoki).

      • transitionQualifiers

        Lista kwalifikatorów przejścia.

      • transitionType

        Przyczyna nawigacji.

      • URL

        ciąg znaków

  • filtry

    obiekt opcjonalny

    • Warunki, które musi spełniać otwierany adres URL. Schematy i „porty” Pola 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 dotyczące tej ramki będą używać zaktualizowanego adresu URL.

Parametry

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (details: object) => void
    .

    • szczegóły

      Obiekt

      • documentId

        ciąg znaków

        Chrome 106 lub nowszy

        Identyfikator UUID wczytanego dokumentu.

      • Chrome 106 lub nowszy

        Cykl życia dokumentu.

      • frameId

        liczba

        0 oznacza, że nawigacja odbywa się w oknie zawartości karty. wartość dodatnia wskazuje nawigację w ramce podrzędnej. Identyfikatory ramek są unikalne w obrębie danej karty.

      • Chrome 106 lub nowszy

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

      • parentDocumentId

        ciąg znaków opcjonalny

        Chrome 106 lub nowszy

        Identyfikator UUID dokumentu nadrzędnego, w którym znajduje się ta ramka. Ta wartość nie jest ustawiona, jeśli nie ma elementu nadrzędnego.

      • parentFrameId

        liczba

        Chrome w wersji 74 lub nowszej

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

      • processId

        liczba

        Identyfikator procesu, który uruchamia mechanizm renderowania danej ramki.

      • tabId

        liczba

        Identyfikator karty, na której odbywa się nawigacja.

      • timeStamp

        liczba

        Czas zatwierdzenia nawigacji (w milisekundach od początku epoki).

      • transitionQualifiers

        Lista kwalifikatorów przejścia.

      • transitionType

        Przyczyna nawigacji.

      • URL

        ciąg znaków

  • filtry

    obiekt opcjonalny

    • Warunki, które musi spełniać otwierany adres URL. Schematy i „porty” Pola UrlFilter są ignorowane w przypadku tego zdarzenia.

onTabReplaced

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

Uruchamiane, gdy zawartość karty zostanie zastąpiona inną (zwykle wyrenderowaną wcześniej) 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 przeprowadzenia wymiany (w milisekundach od początku epoki).