refresh date: 2026-09-25 robots: noindex
Opis
Używaj interfejsu API chrome.webRequest, aby obserwować i analizować ruch oraz przechwytywać, blokować lub modyfikować żądania w trakcie ich przesyłania.
Uprawnienia
webRequestPlik manifestu
Aby używać interfejsu API żądań sieciowych, musisz zadeklarować uprawnienie "webRequest" w pliku manifestu rozszerzenia oraz niezbędne uprawnienia dotyczące hosta. Aby przechwycić żądanie zasobu podrzędnego, rozszerzenie musi mieć dostęp zarówno do żądanego adresu URL, jak i do jego inicjatora. Na przykład:
{
"name": "My extension",
...
"permissions": [
"webRequest"
],
"host_permissions": [
"*://*.google.com/*"
],
...
}
Od wersji Chrome 108 możesz asynchronicznie podawać dane logowania na potrzeby zdarzeń onAuthRequired, jeśli używasz uprawnień "webRequest" i "webRequestAuthProvider".
Cykl życia żądań
Interfejs API żądań sieciowych definiuje zestaw zdarzeń, które następują po cyklu życia żądania sieciowego. Możesz używać tych zdarzeń do obserwowania i analizowania ruchu. Niektóre zdarzenia synchroniczne umożliwiają przechwytywanie, blokowanie lub modyfikowanie żądania.
Poniżej przedstawiamy cykl życia zdarzenia w przypadku żądań zakończonych powodzeniem, a następnie definicje zdarzeń:

onBeforeRequest(opcjonalnie synchroniczne)- Uruchamia się, gdy ma nastąpić żądanie. To zdarzenie jest wysyłane przed nawiązaniem połączenia TCP i może być używane do anulowania lub przekierowywania żądań.
onBeforeSendHeaders(opcjonalnie synchroniczne)- Uruchamia się, gdy żądanie ma zostać wysłane i przygotowane zostały początkowe nagłówki. Zdarzenie ma umożliwiać rozszerzeniom dodawanie, modyfikowanie i usuwanie nagłówków żądań (*). Zdarzenie
onBeforeSendHeadersjest przekazywane wszystkim subskrybentom, więc różni subskrybenci mogą próbować zmodyfikować żądanie. Informacje o tym, jak to jest obsługiwane, znajdziesz w sekcji Szczegóły implementacji. To zdarzenie może służyć do anulowania żądania. onSendHeaders- Uruchamia się, gdy wszystkie rozszerzenia miały możliwość zmodyfikowania nagłówków żądania, i prezentuje ostateczną(*) wersję. Zdarzenie jest wywoływane przed wysłaniem nagłówków do sieci. To zdarzenie ma charakter informacyjny i jest obsługiwane asynchronicznie. Nie pozwala na modyfikowanie ani anulowanie prośby.
onHeadersReceived(opcjonalnie synchroniczne)- Uruchamia się za każdym razem, gdy zostanie odebrany nagłówek odpowiedzi HTTP(S). Z powodu przekierowań i żądań uwierzytelnienia może się to zdarzyć wielokrotnie w przypadku jednego żądania. To zdarzenie umożliwia rozszerzeniom dodawanie, modyfikowanie i usuwanie nagłówków odpowiedzi, takich jak przychodzące nagłówki Content-Type. Dyrektywy dotyczące buforowania są przetwarzane przed wywołaniem tego zdarzenia, więc modyfikowanie nagłówków takich jak Cache-Control nie ma wpływu na pamięć podręczną przeglądarki. Umożliwia też anulowanie lub przekierowanie żądania.
onAuthRequired(opcjonalnie synchroniczne)- Uruchamia się, gdy żądanie wymaga uwierzytelnienia użytkownika. To zdarzenie można obsłużyć synchronicznie, aby podać dane uwierzytelniające. Pamiętaj, że rozszerzenia mogą podawać nieprawidłowe dane logowania. Uważaj, aby nie wejść w nieskończoną pętlę, wielokrotnie podając nieprawidłowe dane logowania. Możesz też użyć tej opcji, aby anulować prośbę.
onBeforeRedirect- Uruchamia się, gdy ma nastąpić przekierowanie. Przekierowanie może być wywoływane przez kod odpowiedzi HTTP lub rozszerzenie. To zdarzenie ma charakter informacyjny i jest obsługiwane asynchronicznie. Nie pozwala na modyfikowanie ani anulowanie prośby.
onResponseStarted- Uruchamia się, gdy zostanie odebrany pierwszy bajt treści odpowiedzi. W przypadku żądań HTTP oznacza to, że wiersz stanu i nagłówki odpowiedzi są dostępne. To zdarzenie ma charakter informacyjny i jest obsługiwane asynchronicznie. Nie pozwala na modyfikowanie ani anulowanie prośby.
onCompleted- Uruchamia się, gdy żądanie zostanie przetworzone pomyślnie.
onErrorOccurred- Uruchamia się, gdy nie udało się przetworzyć żądania.
Interfejs API żądań sieciowych gwarantuje, że w przypadku każdego żądania jako ostatnie zdarzenie zostanie wywołane onCompleted lub onErrorOccurred, z jednym wyjątkiem: jeśli żądanie zostanie przekierowane na adres URL data://, ostatnim zgłoszonym zdarzeniem będzie onBeforeRedirect.
* Pamiętaj, że interfejs API żądań sieciowych przedstawia rozszerzeniu abstrakcję stosu sieciowego. Wewnętrznie jedno żądanie adresu URL może zostać podzielone na kilka żądań HTTP (np. w celu pobrania poszczególnych zakresów bajtów z dużego pliku) lub może zostać obsłużone przez stos sieciowy bez komunikacji z siecią. Z tego powodu interfejs API nie udostępnia końcowych nagłówków HTTP wysyłanych do sieci. Na przykład wszystkie nagłówki związane z buforowaniem są niewidoczne dla rozszerzenia.
Te nagłówki nie są obecnie przekazywane do zdarzenia onBeforeSendHeaders. Nie gwarantujemy, że ta lista jest kompletna lub stabilna.
- Upoważnienie
- Cache-Control
- Połączenie
- Content-Length
- Host
- If-Modified-Since
- If-None-Match
- If-Range
- Partial-Data
- Pragma
- Proxy-Authorization
- Proxy-Connection
- Transfer-Encoding
Od Chrome 79 modyfikacje nagłówka żądania wpływają na sprawdzanie współdzielenia zasobów pomiędzy serwerami z różnych domen (CORS). Jeśli zmodyfikowane nagłówki żądań współdzielenia nie spełniają kryteriów, zostanie wysłane żądanie wstępne CORS z pytaniem do serwera, czy takie nagłówki mogą zostać zaakceptowane. Jeśli naprawdę musisz zmodyfikować nagłówki w sposób, który narusza protokół CORS, musisz określić 'extraHeaders' w opt_extraInfoSpec. Z drugiej strony modyfikacje nagłówka odpowiedzi nie działają w przypadku oszukiwania kontroli CORS. Jeśli chcesz oszukać protokół CORS, musisz też określić 'extraHeaders' dla modyfikacji odpowiedzi.
Od Chrome 79 interfejs webRequest API domyślnie nie przechwytuje żądań i odpowiedzi wstępnych CORS. Proces wstępny CORS dla adresu URL żądania jest widoczny dla rozszerzenia, jeśli dla adresu URL żądania istnieje detektor z 'extraHeaders' określonym w opt_extraInfoSpec.
onBeforeRequest może też pobierać 'extraHeaders' z Chrome 79.
Od wersji Chrome 79 ten nagłówek żądania nie jest podawany i nie można go zmienić ani usunąć bez określenia 'extraHeaders' w opt_extraInfoSpec:
- Punkt początkowy
Jeśli od wersji Chrome 72 chcesz modyfikować odpowiedzi, zanim Cross Origin Read Blocking (CORB) je zablokuje, musisz określić 'extraHeaders' w opt_extraInfoSpec.
Od Chrome 72 te nagłówki żądań nie są podawane i nie można ich modyfikować ani usuwać bez określenia 'extraHeaders' w opt_extraInfoSpec:
- Accept-Language
- Accept-Encoding
- Referer
- Plik cookie
Od Chrome 72 nagłówek odpowiedzi Set-Cookie nie jest podawany i nie można go modyfikować ani usuwać bez określenia 'extraHeaders' w opt_extraInfoSpec.
Od wersji Chrome 89 nie można skutecznie modyfikować ani usuwać nagłówka odpowiedzi X-Frame-Options bez określenia 'extraHeaders' w opt_extraInfoSpec.
Interfejs webRequest API ujawnia tylko żądania, które rozszerzenie może zobaczyć, biorąc pod uwagę jego uprawnienia hosta. Ponadto dostępne są tylko te schematy: http://, https://, ftp://, file://, ws:// (od Chrome 58), wss:// (od Chrome 58), urn: (od Chrome 91) lub chrome-extension://. Dodatkowo ukrywane są nawet niektóre żądania z adresami URL korzystającymi z jednego z powyższych schematów. Obejmują one chrome-extension://other_extension_id, gdzie other_extension_id nie jest identyfikatorem rozszerzenia do obsługi żądania, https://www.google.com/chrome i inne żądania dotyczące poufnych danych, które są kluczowe dla działania przeglądarki. Aby zapobiec zakleszczeniom, synchroniczne żądania XMLHttpRequests z rozszerzenia są ukrywane przed blokującymi modułami obsługi zdarzeń. Pamiętaj, że w przypadku niektórych obsługiwanych schematów zestaw dostępnych zdarzeń może być ograniczony ze względu na charakter odpowiedniego protokołu. Na przykład w przypadku schematu file: można wysyłać tylko onBeforeRequest, onResponseStarted, onCompleted i onErrorOccurred.
Od wersji Chrome 58 interfejs webRequest API obsługuje przechwytywanie żądań uzgodnienia połączenia WebSocket. Ponieważ uzgadnianie połączenia odbywa się za pomocą żądania uaktualnienia HTTP, jego przepływ pasuje do modelu webRequest zorientowanego na HTTP. Pamiętaj, że interfejs API nie przechwytuje:
- Poszczególne wiadomości wysyłane przez ustanowione połączenie WebSocket.
- Zamykanie połączenia WebSocket.
Przekierowania nie są obsługiwane w przypadku żądań WebSocket.
Począwszy od Chrome 72, rozszerzenie będzie mogło przechwycić żądanie tylko wtedy, gdy ma uprawnienia hosta zarówno do żądanego adresu URL, jak i do inicjatora żądania.
Od Chrome 96 interfejs webRequest API obsługuje przechwytywanie żądania uzgadniania WebTransport przez HTTP/3. Ponieważ uzgadnianie połączenia odbywa się za pomocą żądania HTTP CONNECT, jego przepływ pasuje do modelu webRequest zorientowanego na HTTP. Uwaga:
- Po nawiązaniu sesji rozszerzenia nie mogą jej obserwować ani w nią ingerować za pomocą interfejsu webRequest API.
- Modyfikowanie nagłówków żądań HTTP w
onBeforeSendHeadersjest ignorowane. - Przekierowania i uwierzytelnianie nie są obsługiwane w WebTransport przez HTTP/3.
Pojęcia
Jak wyjaśniono w sekcjach poniżej, zdarzenia w interfejsie Web Request API używają identyfikatorów żądań sieciowych, a podczas rejestrowania detektorów zdarzeń możesz opcjonalnie określić filtry i dodatkowe informacje.
Identyfikatory żądań
Każde żądanie jest identyfikowane przez identyfikator żądania. Ten identyfikator jest unikalny w ramach sesji przeglądarki i kontekstu rozszerzenia. Pozostaje on niezmienny przez cały cykl życia żądania i może służyć do dopasowywania zdarzeń do tego samego żądania. Pamiętaj, że w przypadku przekierowania HTTP lub uwierzytelniania HTTP kilka żądań HTTP jest mapowanych na jedno żądanie sieciowe.
Rejestrowanie detektorów zdarzeń
Aby zarejestrować detektor zdarzeń dla żądania sieciowego, użyj odmiany zwykłej funkcji addListener(). Oprócz określenia funkcji wywołania zwrotnego musisz podać argument filtra. Możesz też podać opcjonalny argument dodatkowych informacji.
Trzy argumenty interfejsu API żądań sieciowych addListener() mają następujące definicje:
var callback = function(details) {...};
var filter = {...};
var opt_extraInfoSpec = [...];
Oto przykład nasłuchiwania zdarzenia onBeforeRequest:
chrome.webRequest.onBeforeRequest.addListener(
callback, filter, opt_extraInfoSpec);
Każde wywołanie addListener() przyjmuje obowiązkową funkcję wywołania zwrotnego jako pierwszy parametr. Do tej funkcji wywołania zwrotnego przekazywany jest słownik zawierający informacje o bieżącym żądaniu adresu URL. Informacje w tym słowniku zależą od konkretnego typu zdarzenia oraz zawartości opt_extraInfoSpec.
Jeśli opcjonalna tablica opt_extraInfoSpec zawiera ciąg znaków 'blocking' (dozwolony tylko w przypadku określonych zdarzeń), funkcja wywołania zwrotnego jest obsługiwana synchronicznie. Oznacza to, że żądanie jest blokowane, dopóki funkcja wywołania zwrotnego nie zwróci wyniku. W takim przypadku wywołanie zwrotne może zwrócić obiekt webRequest.BlockingResponse, który określa dalszy cykl życia żądania. W zależności od kontekstu ta odpowiedź umożliwia anulowanie lub przekierowanie żądania (onBeforeRequest), anulowanie żądania lub zmodyfikowanie nagłówków (onBeforeSendHeaders, onHeadersReceived) oraz anulowanie żądania lub podanie danych uwierzytelniających (onAuthRequired).
Jeśli opcjonalna tablica opt_extraInfoSpec zawiera ciąg tekstowy 'asyncBlocking' (dozwolony tylko w przypadku onAuthRequired), rozszerzenie może wygenerować webRequest.BlockingResponse asynchronicznie.
webRequest.RequestFilter filter umożliwia ograniczenie żądań, dla których wywoływane są zdarzenia, w różnych wymiarach:
- Adresy URL
- Wzorce adresów URL, takie jak
*://www.google.com/foo*bar. - Typy
- Typy żądań, takie jak
main_frame(dokument wczytywany w ramce najwyższego poziomu),sub_frame(dokument wczytywany w ramce umieszczonej w innym dokumencie) iimage(obraz w witrynie). Zobacz:webRequest.RequestFilter. - Identyfikator karty
- Identyfikator jednej karty.
- Identyfikator okna
- Identyfikator okna.
W zależności od typu zdarzenia możesz określić ciągi znaków w opt_extraInfoSpec, aby poprosić o dodatkowe informacje o żądaniu. Służy do podawania szczegółowych informacji o danych żądania tylko wtedy, gdy jest to wyraźnie wymagane.
Szczegóły implementacji
Podczas tworzenia rozszerzenia, które korzysta z interfejsu API żądań sieciowych, warto pamiętać o kilku ważnych kwestiach związanych z implementacją:
web_accessible_resources
Gdy rozszerzenie używa interfejsów API webRequest do przekierowania żądania zasobu publicznego do zasobu, który nie jest dostępny w internecie, jest ono blokowane i powoduje błąd. Powyższe zasady obowiązują nawet wtedy, gdy zasób, który nie jest dostępny w internecie, należy do rozszerzenia przekierowującego. Aby zadeklarować zasoby do użycia z interfejsami API declarativeWebRequest, należy zadeklarować i wypełnić tablicę "web_accessible_resources" w pliku manifestu zgodnie z dokumentacją dostępną tutaj.
Rozwiązywanie konfliktów
W obecnej implementacji interfejsu Web Request API żądanie sieciowe jest uznawane za anulowane, jeśli co najmniej 1 rozszerzenie wyda instrukcję anulowania żądania. Jeśli rozszerzenie anuluje żądanie, wszystkie rozszerzenia zostaną powiadomione zdarzeniem onErrorOccurred. Tylko jedno rozszerzenie może przekierować żądanie lub zmodyfikować nagłówek. Jeśli więcej niż 1 rozszerzenie próbuje zmodyfikować żądanie, zostanie użyte ostatnio zainstalowane rozszerzenie, a pozostałe zostaną zignorowane. Rozszerzenie nie jest powiadamiane, jeśli jego instrukcja modyfikacji lub przekierowania została zignorowana.
Buforowanie
Chrome używa 2 rodzajów pamięci podręcznej – pamięci podręcznej na dysku i bardzo szybkiej pamięci podręcznej pamięci RAM. Czas przechowywania danych w pamięci podręcznej pamięci RAM jest powiązany z czasem trwania procesu renderowania, który w przybliżeniu odpowiada karcie.
Żądania, na które odpowiedź pochodzi z pamięci podręcznej pamięci RAM, są niewidoczne dla interfejsu Web Request API. Jeśli moduł obsługi żądań zmieni swoje zachowanie (np. zachowanie, zgodnie z którym żądania są blokowane), proste odświeżenie strony może nie uwzględnić tej zmiany. Aby mieć pewność, że zmiana zachowania zostanie wprowadzona, wywołaj handlerBehaviorChanged(), aby wyczyścić pamięć podręczną pamięci RAM. Nie rób tego jednak zbyt często, ponieważ czyszczenie pamięci podręcznej jest bardzo kosztowną operacją. Po zarejestrowaniu lub wyrejestrowaniu detektora zdarzeń nie musisz wywoływać metody handlerBehaviorChanged().
Sygnatury czasowe
Właściwość timestamp zdarzeń żądań sieciowych jest spójna tylko wewnętrznie.
Porównanie jednego zdarzenia z innym da prawidłowe przesunięcie między nimi, ale porównanie ich z bieżącym czasem w rozszerzeniu (np. za pomocą (new Date()).getTime()) może dać nieoczekiwane wyniki.
Obsługa błędów
Jeśli spróbujesz zarejestrować zdarzenie z nieprawidłowymi argumentami, zostanie wygenerowany błąd JavaScriptu, a moduł obsługi zdarzeń nie zostanie zarejestrowany. Jeśli podczas obsługi zdarzenia wystąpi błąd lub moduł obsługi zdarzeń zwróci nieprawidłową odpowiedź blokującą, w konsoli rozszerzenia zostanie zarejestrowany komunikat o błędzie, a moduł obsługi zdarzeń zostanie zignorowany w przypadku tego żądania.
Przykłady
Ten przykład pokazuje, jak zablokować wszystkie żądania do www.evil.com:
chrome.webRequest.onBeforeRequest.addListener(
function(details) {
return {cancel: details.url.indexOf("://www.evil.com/") != -1};
},
{urls: ["<all_urls>"]},
["blocking"]
);
Ta funkcja używa blokującego modułu obsługi zdarzeń, dlatego wymaga uprawnień "webRequest" i "webRequestBlocking" w pliku manifestu.
Poniższy przykład pozwala osiągnąć ten sam cel w bardziej efektywny sposób, ponieważ żądania, które nie są kierowane na www.evil.com, nie muszą być przekazywane do rozszerzenia:
chrome.webRequest.onBeforeRequest.addListener(
function(details) { return {cancel: true}; },
{urls: ["*://www.evil.com/*"]},
["blocking"]
);
Poniższy przykład pokazuje, jak usunąć nagłówek User-Agent ze wszystkich żądań:
chrome.webRequest.onBeforeSendHeaders.addListener(
function(details) {
for (var i = 0; i < details.requestHeaders.length; ++i) {
if (details.requestHeaders[i].name === 'User-Agent') {
details.requestHeaders.splice(i, 1);
break;
}
}
return {requestHeaders: details.requestHeaders};
},
{urls: ["<all_urls>"]},
["blocking", "requestHeaders"]
);
Aby wypróbować interfejs API chrome.webRequest, zainstaluj przykład webRequest z repozytorium chrome-extension-samples.
Typy
BlockingResponse
Zwraca wartość dla modułów obsługi zdarzeń, które mają zastosowaną wartość „blocking” w parametrze extraInfoSpec. Umożliwia modułowi obsługi zdarzeń modyfikowanie żądań sieciowych.
Właściwości
-
authCredentials
object opcjonalny
Używane tylko jako odpowiedź na zdarzenie onAuthRequired. Jeśli ta opcja jest ustawiona, żądanie jest wysyłane przy użyciu podanych danych logowania.
-
hasło
tekst
-
nazwa użytkownika
tekst
-
-
anuluj
boolean opcjonalne
Jeśli ma wartość „true”, żądanie zostanie anulowane. Zapobiega to wysłaniu żądania. Można go używać jako odpowiedzi na zdarzenia onBeforeRequest, onBeforeSendHeaders, onHeadersReceived i onAuthRequired.
-
redirectUrl
ciąg znaków opcjonalny
Używane tylko jako odpowiedź na zdarzenia onBeforeRequest i onHeadersReceived. Jeśli ta opcja jest ustawiona, pierwotne żądanie nie jest wysyłane ani realizowane, ale przekierowywane na podany adres URL. Przekierowania do schematów innych niż HTTP, takich jak
data:, są dozwolone. Przekierowania inicjowane przez działanie przekierowania używają pierwotnej metody żądania, z jednym wyjątkiem: jeśli przekierowanie jest inicjowane na etapie onHeadersReceived, zostanie ono wygenerowane przy użyciu metody GET. Przekierowania z adresów URL ze schematamiws://iwss://są ignorowane. -
requestHeaders
HttpHeaders opcjonalne
Używane tylko jako odpowiedź na zdarzenie onBeforeSendHeaders. Jeśli ta opcja jest ustawiona, żądanie jest wysyłane z tymi nagłówkami żądania.
-
responseHeaders
HttpHeaders opcjonalne
Używane tylko jako odpowiedź na zdarzenie onHeadersReceived. Jeśli ta opcja jest ustawiona, zakłada się, że serwer odpowiedział tymi nagłówkami odpowiedzi. Zwracaj
responseHeaderstylko wtedy, gdy naprawdę chcesz zmodyfikować nagłówki, aby ograniczyć liczbę konfliktów (tylko jedno rozszerzenie może zmodyfikowaćresponseHeadersw przypadku każdego żądania).
FormDataItem
Zawiera dane przekazywane w danych formularza. W przypadku formularza urlencoded dane są przechowywane jako ciąg znaków, jeśli są ciągiem znaków UTF-8, a w przeciwnym razie jako ArrayBuffer. W przypadku danych formularza jest to ArrayBuffer. Jeśli dane formularza reprezentują przesyłany plik, jest to ciąg znaków z nazwą pliku, o ile została ona podana.
Typ wyliczeniowy
ArrayBuffer
tekst
HttpHeaders
Tablica nagłówków HTTP. Każdy nagłówek jest reprezentowany jako słownik zawierający klucze name i value lub binaryValue.
Typ
object[]
Właściwości
-
binaryValue
number[] opcjonalny
Wartość nagłówka HTTP, jeśli nie można jej przedstawić w formacie UTF-8, przechowywana jako pojedyncze wartości bajtów (0..255).
-
nazwa
tekst
Nazwa nagłówka HTTP.
-
wartość
ciąg znaków opcjonalny
Wartość nagłówka HTTP, jeśli można ją przedstawić w formacie UTF-8.
IgnoredActionType
Typ wyliczeniowy
"redirect"
"request_headers"
"response_headers"
"auth_credentials"
OnAuthRequiredOptions
Typ wyliczeniowy
"responseHeaders"
Określa, że nagłówki odpowiedzi powinny być uwzględnione w zdarzeniu.
"blocking"
Określa, że żądanie jest blokowane, dopóki funkcja wywołania zwrotnego nie zwróci wyniku.
"asyncBlocking"
Określa, że funkcja wywołania zwrotnego jest obsługiwana asynchronicznie.
"extraHeaders"
Określa, że nagłówki mogą naruszać współdzielenie zasobów pomiędzy serwerami z różnych domen (CORS).
OnBeforeRedirectOptions
Typ wyliczeniowy
"responseHeaders"
Określa, że nagłówki odpowiedzi powinny być uwzględnione w zdarzeniu.
"extraHeaders"
Określa, że nagłówki mogą naruszać współdzielenie zasobów pomiędzy serwerami z różnych domen (CORS).
OnBeforeRequestOptions
Typ wyliczeniowy
"blocking"
Określa, że żądanie jest blokowane, dopóki funkcja wywołania zwrotnego nie zwróci wyniku.
"requestBody"
Określa, że treść żądania powinna być uwzględniona w zdarzeniu.
"extraHeaders"
Określa, że nagłówki mogą naruszać współdzielenie zasobów pomiędzy serwerami z różnych domen (CORS).
OnBeforeSendHeadersOptions
Typ wyliczeniowy
"requestHeaders"
Określa, że nagłówek żądania powinien być uwzględniony w zdarzeniu.
"blocking"
Określa, że żądanie jest blokowane, dopóki funkcja wywołania zwrotnego nie zwróci wyniku.
"extraHeaders"
Określa, że nagłówki mogą naruszać współdzielenie zasobów pomiędzy serwerami z różnych domen (CORS).
OnCompletedOptions
Typ wyliczeniowy
"responseHeaders"
Określa, że nagłówki odpowiedzi powinny być uwzględnione w zdarzeniu.
"extraHeaders"
Określa, że nagłówki mogą naruszać współdzielenie zasobów pomiędzy serwerami z różnych domen (CORS).
OnErrorOccurredOptions
Wartość
"extraHeaders"
OnHeadersReceivedOptions
Typ wyliczeniowy
"blocking"
Określa, że żądanie jest blokowane, dopóki funkcja wywołania zwrotnego nie zwróci wyniku.
"responseHeaders"
Określa, że nagłówki odpowiedzi powinny być uwzględnione w zdarzeniu.
"extraHeaders"
Określa, że nagłówki mogą naruszać współdzielenie zasobów pomiędzy serwerami z różnych domen (CORS).
"securityInfo"
Określa, że w zdarzeniu powinny być uwzględnione informacje o zabezpieczeniach.
"securityInfoRawDer"
Określa, że zdarzenie powinno zawierać SecurityInfo z nieprzetworzonymi bajtami certyfikatów.
OnResponseStartedOptions
Typ wyliczeniowy
"responseHeaders"
Określa, że nagłówki odpowiedzi powinny być uwzględnione w zdarzeniu.
"extraHeaders"
Określa, że nagłówki mogą naruszać współdzielenie zasobów pomiędzy serwerami z różnych domen (CORS).
OnSendHeadersOptions
Typ wyliczeniowy
"requestHeaders"
Określa, że nagłówek żądania powinien być uwzględniony w zdarzeniu.
"extraHeaders"
Określa, że nagłówki mogą naruszać współdzielenie zasobów pomiędzy serwerami z różnych domen (CORS).
RequestFilter
Obiekt opisujący filtry, które mają być stosowane do zdarzeń webRequest.
Właściwości
-
tabId
number optional
-
typy
ResourceType[] opcjonalny
Lista typów żądań. Żądania, które nie pasują do żadnego z typów, zostaną odfiltrowane.
-
adresy
string[]
Lista adresów URL lub wzorców adresów URL. Żądania, które nie pasują do żadnego z adresów URL, zostaną odfiltrowane.
-
windowId
number optional
ResourceType
Typ wyliczeniowy
"main_frame"
Określa zasób jako ramkę główną.
"sub_frame"
Określa zasób jako ramkę podrzędną.
"stylesheet"
Określa zasób jako arkusz stylów.
"script"
Określa zasób jako skrypt.
"image"
Określa zasób jako obraz.
"font"
Określa zasób jako czcionkę.
"object"
Określa zasób jako obiekt.
"xmlhttprequest"
Określa zasób jako XMLHttpRequest.
"ping"
Określa zasób jako ping.
"csp_report"
Określa zasób jako raport Content Security Policy (CSP).
"media"
Określa zasób jako obiekt multimedialny.
"websocket"
Określa zasób jako WebSocket.
"webbundle"
Określa zasób jako WebBundle.
"other"
Określa zasób jako typ nieuwzględniony na liście typów.
SecurityInfo
Właściwości
-
certyfikaty
object[]
Lista certyfikatów
-
odcisk palca
obiekt
Odciski cyfrowe certyfikatu.
-
sha256
tekst
Odcisk cyfrowy SHA256 certyfikatu.
-
-
rawDER
ArrayBuffer opcjonalny
Nieprzetworzone bajty certyfikatu serwera zakodowanego w formacie DER
-
-
stan
tekst
Stan połączenia. Jedna z wartości: secure, insecure, broken.
UploadData
Zawiera dane przesłane w żądaniu adresu URL.
Właściwości
-
bajty
any optional
ArrayBuffer z kopią danych.
-
plik
ciąg znaków opcjonalny
Ciąg tekstowy ze ścieżką i nazwą pliku.
Właściwości
MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES
Maksymalna liczba wywołań handlerBehaviorChanged w ciągu 10 minut. handlerBehaviorChanged to kosztowne wywołanie funkcji, którego nie należy często używać.
Wartość
20
Metody
handlerBehaviorChanged()
chrome.webRequest.handlerBehaviorChanged(
callback?: function,
): Promise<void>
Należy ją wywołać, gdy zmieni się zachowanie modułów obsługi webRequest, aby zapobiec nieprawidłowemu działaniu z powodu buforowania. To wywołanie funkcji jest kosztowne. Nie wywołuj jej często.
Parametry
-
callback
function opcjonalne
Parametr
callbackwygląda tak:() => void
Zwroty
-
thought Promise<void>
Chrome 116 lub nowsza wersjaObiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.
Wydarzenia
onActionIgnored
chrome.webRequest.onActionIgnored.addListener(
callback: function,
)
Uruchamiane, gdy proponowana przez rozszerzenie modyfikacja żądania sieciowego zostanie zignorowana. Dzieje się tak w przypadku konfliktów z innymi rozszerzeniami.
Parametry
-
callback
funkcja
Parametr
callbackwygląda tak:(details: object) => void
-
szczegóły
obiekt
-
działanie
Proponowane działanie, które zostało zignorowane.
-
requestId
tekst
Identyfikator żądania. Identyfikatory żądań są unikalne w ramach sesji przeglądarki. W efekcie można ich używać do powiązania różnych zdarzeń z tego samego żądania.
-
-
onAuthRequired
chrome.webRequest.onAuthRequired.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnAuthRequiredOptions[],
)
Uruchamiane, gdy wystąpi błąd uwierzytelniania. Detektor ma 3 opcje: może podać dane uwierzytelniające, anulować żądanie i wyświetlić stronę błędu lub nie podejmować żadnych działań w związku z wyzwaniem. Jeśli podane zostaną nieprawidłowe dane logowania użytkownika, ta metoda może zostać wywołana wielokrotnie w ramach tego samego żądania. Pamiętaj, że w parametrze extraInfoSpec można określić tylko jeden z trybów 'blocking' lub 'asyncBlocking'.
Parametry
-
callback
funkcja
Parametr
callbackwygląda tak:(details: object, asyncCallback?: function) => BlockingResponse | undefined
-
szczegóły
obiekt
-
rywal
obiekt
Serwer żądający uwierzytelnienia.
-
host
tekst
-
port
liczba
-
-
documentId
ciąg znaków opcjonalny
Chrome 106 lub nowsza wersjaIdentyfikator UUID dokumentu, który wysyła żądanie.
-
documentLifecycleChrome 106 lub nowsza wersja
Cykl życia, w którym znajduje się dokument.
-
frameId
liczba
Wartość 0 oznacza, że żądanie występuje w ramce głównej, a wartość dodatnia wskazuje identyfikator ramki podrzędnej, w której występuje żądanie. Jeśli dokument (pod)ramki jest wczytany (
typetomain_framelubsub_frame),frameIdwskazuje identyfikator tej ramki, a nie identyfikator ramki zewnętrznej. Identyfikatory ramek są unikalne w obrębie karty. -
frameTypeChrome 106 lub nowsza wersja
Typ ramki, w której wystąpiło żądanie.
-
inicjator
ciąg znaków opcjonalny
Chrome 63 lub nowsza wersjaŹródło, z którego zainicjowano żądanie. Nie zmienia się on w przypadku przekierowań. Jeśli jest to nieprzezroczyste źródło, używany jest ciąg tekstowy „null”.
-
isProxy
wartość logiczna
Wartość True dla Proxy-Authenticate, wartość False dla WWW-Authenticate.
-
method
tekst
Standardowa metoda HTTP.
-
parentDocumentId
ciąg znaków opcjonalny
Chrome 106 lub nowsza wersjaIdentyfikator UUID dokumentu nadrzędnego, do którego należy ta ramka. Jeśli nie ma elementu nadrzędnego, ta wartość nie jest ustawiona.
-
parentFrameId
liczba
Identyfikator ramki, która zawiera ramkę wysyłającą żądanie. Jeśli nie ma ramki nadrzędnej, ustaw wartość -1.
-
obszar
ciąg znaków opcjonalny
Obszar uwierzytelniania podany przez serwer, jeśli istnieje.
-
requestId
tekst
Identyfikator żądania. Identyfikatory żądań są unikalne w ramach sesji przeglądarki. W efekcie można ich używać do powiązania różnych zdarzeń z tego samego żądania.
-
responseHeaders
HttpHeaders opcjonalne
Nagłówki odpowiedzi HTTP, które zostały odebrane wraz z tą odpowiedzią.
-
schemat
tekst
Schemat uwierzytelniania, np. Basic lub Digest.
-
statusCode
liczba
Chrome 43 lub nowsza wersjaStandardowy kod stanu HTTP zwracany przez serwer.
-
statusLine
tekst
Wiersz stanu HTTP odpowiedzi lub ciąg „HTTP/0.9 200 OK” w przypadku odpowiedzi HTTP/0.9 (czyli odpowiedzi, które nie mają wiersza stanu) lub pusty ciąg, jeśli nie ma nagłówków.
-
tabId
liczba
Identyfikator karty, na której występuje żądanie. Jeśli żądanie nie jest powiązane z kartą, ustaw wartość -1.
-
timeStamp
liczba
Czas aktywacji sygnału w milisekundach od początku epoki.
-
typ
Sposób wykorzystania żądanego zasobu.
-
URL
tekst
-
-
asyncCallback
function opcjonalne
Chrome 58 lub nowsza wersjaParametr
asyncCallbackwygląda tak:(response: BlockingResponse) => void
-
odpowiedź
-
-
returns
BlockingResponse | undefined
Jeśli w parametrze „extraInfoSpec” określono „blocking”, detektor zdarzeń powinien zwrócić obiekt tego typu.
-
-
filtr
-
extraInfoSpec
OnAuthRequiredOptions[] opcjonalny
onBeforeRedirect
chrome.webRequest.onBeforeRedirect.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnBeforeRedirectOptions[],
)
Uruchamiane, gdy ma nastąpić przekierowanie zainicjowane przez serwer.
Parametry
-
callback
funkcja
Parametr
callbackwygląda tak:(details: object) => void
-
szczegóły
obiekt
-
documentId
ciąg znaków opcjonalny
Chrome 106 lub nowsza wersjaIdentyfikator UUID dokumentu, który wysyła żądanie.
-
documentLifecycleChrome 106 lub nowsza wersja
Cykl życia, w którym znajduje się dokument.
-
frameId
liczba
Wartość 0 oznacza, że żądanie występuje w ramce głównej, a wartość dodatnia wskazuje identyfikator ramki podrzędnej, w której występuje żądanie. Jeśli dokument (pod)ramki jest wczytany (
typetomain_framelubsub_frame),frameIdwskazuje identyfikator tej ramki, a nie identyfikator ramki zewnętrznej. Identyfikatory ramek są unikalne w obrębie karty. -
frameTypeChrome 106 lub nowsza wersja
Typ ramki, w której wystąpiło żądanie.
-
fromCache
wartość logiczna
Wskazuje, czy ta odpowiedź została pobrana z pamięci podręcznej na dysku.
-
inicjator
ciąg znaków opcjonalny
Chrome 63 lub nowsza wersjaŹródło, z którego zainicjowano żądanie. Nie zmienia się on w przypadku przekierowań. Jeśli jest to nieprzezroczyste źródło, używany jest ciąg tekstowy „null”.
-
ip
ciąg znaków opcjonalny
Adres IP serwera, na który faktycznie wysłano żądanie. Pamiętaj, że może to być adres IPv6.
-
method
tekst
Standardowa metoda HTTP.
-
parentDocumentId
ciąg znaków opcjonalny
Chrome 106 lub nowsza wersjaIdentyfikator UUID dokumentu nadrzędnego, do którego należy ta ramka. Jeśli nie ma elementu nadrzędnego, ta wartość nie jest ustawiona.
-
parentFrameId
liczba
Identyfikator ramki, która zawiera ramkę wysyłającą żądanie. Jeśli nie ma ramki nadrzędnej, ustaw wartość -1.
-
redirectUrl
tekst
Nowy URL.
-
requestId
tekst
Identyfikator żądania. Identyfikatory żądań są unikalne w ramach sesji przeglądarki. W efekcie można ich używać do powiązania różnych zdarzeń z tego samego żądania.
-
responseHeaders
HttpHeaders opcjonalne
Nagłówki odpowiedzi HTTP, które zostały odebrane wraz z tym przekierowaniem.
-
statusCode
liczba
Standardowy kod stanu HTTP zwracany przez serwer.
-
statusLine
tekst
Wiersz stanu HTTP odpowiedzi lub ciąg „HTTP/0.9 200 OK” w przypadku odpowiedzi HTTP/0.9 (czyli odpowiedzi, które nie mają wiersza stanu) lub pusty ciąg, jeśli nie ma nagłówków.
-
tabId
liczba
Identyfikator karty, na której występuje żądanie. Jeśli żądanie nie jest powiązane z kartą, ustaw wartość -1.
-
timeStamp
liczba
Czas aktywacji sygnału w milisekundach od początku epoki.
-
typ
Sposób wykorzystania żądanego zasobu.
-
URL
tekst
-
-
-
filtr
-
extraInfoSpec
OnBeforeRedirectOptions[] opcjonalny
onBeforeRequest
chrome.webRequest.onBeforeRequest.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnBeforeRequestOptions[],
)
Uruchamiane, gdy ma nastąpić żądanie.
Parametry
-
callback
funkcja
Parametr
callbackwygląda tak:(details: object) => BlockingResponse | undefined
-
szczegóły
obiekt
-
documentId
ciąg znaków opcjonalny
Chrome 106 lub nowsza wersjaIdentyfikator UUID dokumentu, który wysyła żądanie.
-
documentLifecycle
extensionTypes.DocumentLifecycle opcjonalny
Chrome 106 lub nowsza wersjaCykl życia, w którym znajduje się dokument.
-
frameId
liczba
Wartość 0 oznacza, że żądanie występuje w ramce głównej, a wartość dodatnia wskazuje identyfikator ramki podrzędnej, w której występuje żądanie. Jeśli dokument (pod)ramki jest wczytany (
typetomain_framelubsub_frame),frameIdwskazuje identyfikator tej ramki, a nie identyfikator ramki zewnętrznej. Identyfikatory ramek są unikalne w obrębie karty. -
frameType
extensionTypes.FrameType opcjonalny
Chrome 106 lub nowsza wersjaTyp ramki, w której wystąpiło żądanie.
-
inicjator
ciąg znaków opcjonalny
Chrome 63 lub nowsza wersjaŹródło, z którego zainicjowano żądanie. Nie zmienia się on w przypadku przekierowań. Jeśli jest to nieprzezroczyste źródło, używany jest ciąg tekstowy „null”.
-
method
tekst
Standardowa metoda HTTP.
-
parentDocumentId
ciąg znaków opcjonalny
Chrome 106 lub nowsza wersjaIdentyfikator UUID dokumentu nadrzędnego, do którego należy ta ramka. Jeśli nie ma elementu nadrzędnego, ta wartość nie jest ustawiona.
-
parentFrameId
liczba
Identyfikator ramki, która zawiera ramkę wysyłającą żądanie. Jeśli nie ma ramki nadrzędnej, ustaw wartość -1.
-
requestBody
object opcjonalny
Zawiera dane treści żądania HTTP. Podawane tylko wtedy, gdy extraInfoSpec zawiera „requestBody”.
-
błąd
ciąg znaków opcjonalny
Błędy podczas uzyskiwania danych treści żądania.
-
formData
object opcjonalny
Jeśli metoda żądania to POST, a treść jest sekwencją par klucz-wartość zakodowanych w formacie UTF8, zakodowanych jako multipart/form-data lub application/x-www-form-urlencoded, ten słownik jest obecny i dla każdego klucza zawiera listę wszystkich wartości dla tego klucza. Jeśli dane są innego typu lub są nieprawidłowo sformatowane, słownik nie jest dostępny. Przykładowa wartość tego słownika to {'key': ['value1', 'value2']}.
-
raw
UploadData[] opcjonalne
Jeśli metoda żądania to PUT lub POST, a treść nie została jeszcze przeanalizowana w formData, ta tablica zawiera nieprzeanalizowane elementy treści żądania.
-
-
requestId
tekst
Identyfikator żądania. Identyfikatory żądań są unikalne w ramach sesji przeglądarki. W efekcie można ich używać do powiązania różnych zdarzeń z tego samego żądania.
-
tabId
liczba
Identyfikator karty, na której występuje żądanie. Jeśli żądanie nie jest powiązane z kartą, ustaw wartość -1.
-
timeStamp
liczba
Czas aktywacji sygnału w milisekundach od początku epoki.
-
typ
Sposób wykorzystania żądanego zasobu.
-
URL
tekst
-
-
returns
BlockingResponse | undefined
Jeśli w parametrze „extraInfoSpec” określono „blocking”, detektor zdarzeń powinien zwrócić obiekt tego typu.
-
-
filtr
-
extraInfoSpec
OnBeforeRequestOptions[] opcjonalny
onBeforeSendHeaders
chrome.webRequest.onBeforeSendHeaders.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnBeforeSendHeadersOptions[],
)
Uruchamiane przed wysłaniem żądania HTTP, gdy nagłówki żądania są dostępne. Może się to zdarzyć po nawiązaniu połączenia TCP z serwerem, ale przed wysłaniem jakichkolwiek danych HTTP.
Parametry
-
callback
funkcja
Parametr
callbackwygląda tak:(details: object) => BlockingResponse | undefined
-
szczegóły
obiekt
-
documentId
ciąg znaków opcjonalny
Chrome 106 lub nowsza wersjaIdentyfikator UUID dokumentu, który wysyła żądanie.
-
documentLifecycleChrome 106 lub nowsza wersja
Cykl życia, w którym znajduje się dokument.
-
frameId
liczba
Wartość 0 oznacza, że żądanie występuje w ramce głównej, a wartość dodatnia wskazuje identyfikator ramki podrzędnej, w której występuje żądanie. Jeśli dokument (pod)ramki jest wczytany (
typetomain_framelubsub_frame),frameIdwskazuje identyfikator tej ramki, a nie identyfikator ramki zewnętrznej. Identyfikatory ramek są unikalne w obrębie karty. -
frameTypeChrome 106 lub nowsza wersja
Typ ramki, w której wystąpiło żądanie.
-
inicjator
ciąg znaków opcjonalny
Chrome 63 lub nowsza wersjaŹródło, z którego zainicjowano żądanie. Nie zmienia się on w przypadku przekierowań. Jeśli jest to nieprzezroczyste źródło, używany jest ciąg tekstowy „null”.
-
method
tekst
Standardowa metoda HTTP.
-
parentDocumentId
ciąg znaków opcjonalny
Chrome 106 lub nowsza wersjaIdentyfikator UUID dokumentu nadrzędnego, do którego należy ta ramka. Jeśli nie ma elementu nadrzędnego, ta wartość nie jest ustawiona.
-
parentFrameId
liczba
Identyfikator ramki, która zawiera ramkę wysyłającą żądanie. Jeśli nie ma ramki nadrzędnej, ustaw wartość -1.
-
requestHeaders
HttpHeaders opcjonalne
Nagłówki żądania HTTP, które zostaną wysłane z tym żądaniem.
-
requestId
tekst
Identyfikator żądania. Identyfikatory żądań są unikalne w ramach sesji przeglądarki. W efekcie można ich używać do powiązania różnych zdarzeń z tego samego żądania.
-
tabId
liczba
Identyfikator karty, na której występuje żądanie. Jeśli żądanie nie jest powiązane z kartą, ustaw wartość -1.
-
timeStamp
liczba
Czas aktywacji sygnału w milisekundach od początku epoki.
-
typ
Sposób wykorzystania żądanego zasobu.
-
URL
tekst
-
-
returns
BlockingResponse | undefined
Jeśli w parametrze „extraInfoSpec” określono „blocking”, detektor zdarzeń powinien zwrócić obiekt tego typu.
-
-
filtr
-
extraInfoSpec
OnBeforeSendHeadersOptions[] opcjonalny
onCompleted
chrome.webRequest.onCompleted.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnCompletedOptions[],
)
Uruchamiane po zakończeniu żądania.
Parametry
-
callback
funkcja
Parametr
callbackwygląda tak:(details: object) => void
-
szczegóły
obiekt
-
documentId
ciąg znaków opcjonalny
Chrome 106 lub nowsza wersjaIdentyfikator UUID dokumentu, który wysyła żądanie.
-
documentLifecycleChrome 106 lub nowsza wersja
Cykl życia, w którym znajduje się dokument.
-
frameId
liczba
Wartość 0 oznacza, że żądanie występuje w ramce głównej, a wartość dodatnia wskazuje identyfikator ramki podrzędnej, w której występuje żądanie. Jeśli dokument (pod)ramki jest wczytany (
typetomain_framelubsub_frame),frameIdwskazuje identyfikator tej ramki, a nie identyfikator ramki zewnętrznej. Identyfikatory ramek są unikalne w obrębie karty. -
frameTypeChrome 106 lub nowsza wersja
Typ ramki, w której wystąpiło żądanie.
-
fromCache
wartość logiczna
Wskazuje, czy ta odpowiedź została pobrana z pamięci podręcznej na dysku.
-
inicjator
ciąg znaków opcjonalny
Chrome 63 lub nowsza wersjaŹródło, z którego zainicjowano żądanie. Nie zmienia się on w przypadku przekierowań. Jeśli jest to nieprzezroczyste źródło, używany jest ciąg tekstowy „null”.
-
ip
ciąg znaków opcjonalny
Adres IP serwera, na który faktycznie wysłano żądanie. Pamiętaj, że może to być adres IPv6.
-
method
tekst
Standardowa metoda HTTP.
-
parentDocumentId
ciąg znaków opcjonalny
Chrome 106 lub nowsza wersjaIdentyfikator UUID dokumentu nadrzędnego, do którego należy ta ramka. Jeśli nie ma elementu nadrzędnego, ta wartość nie jest ustawiona.
-
parentFrameId
liczba
Identyfikator ramki, która zawiera ramkę wysyłającą żądanie. Jeśli nie ma ramki nadrzędnej, ustaw wartość -1.
-
requestId
tekst
Identyfikator żądania. Identyfikatory żądań są unikalne w ramach sesji przeglądarki. W efekcie można ich używać do powiązania różnych zdarzeń z tego samego żądania.
-
responseHeaders
HttpHeaders opcjonalne
Nagłówki odpowiedzi HTTP, które zostały odebrane wraz z tą odpowiedzią.
-
statusCode
liczba
Standardowy kod stanu HTTP zwracany przez serwer.
-
statusLine
tekst
Wiersz stanu HTTP odpowiedzi lub ciąg „HTTP/0.9 200 OK” w przypadku odpowiedzi HTTP/0.9 (czyli odpowiedzi, które nie mają wiersza stanu) lub pusty ciąg, jeśli nie ma nagłówków.
-
tabId
liczba
Identyfikator karty, na której występuje żądanie. Jeśli żądanie nie jest powiązane z kartą, ustaw wartość -1.
-
timeStamp
liczba
Czas aktywacji sygnału w milisekundach od początku epoki.
-
typ
Sposób wykorzystania żądanego zasobu.
-
URL
tekst
-
-
-
filtr
-
extraInfoSpec
OnCompletedOptions[] opcjonalny
onErrorOccurred
chrome.webRequest.onErrorOccurred.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnErrorOccurredOptions[],
)
Uruchamiane, gdy wystąpi błąd.
Parametry
-
callback
funkcja
Parametr
callbackwygląda tak:(details: object) => void
-
szczegóły
obiekt
-
documentId
ciąg znaków opcjonalny
Chrome 106 lub nowsza wersjaIdentyfikator UUID dokumentu, który wysyła żądanie. Ta wartość nie jest obecna, jeśli żądanie dotyczy nawigacji w ramce.
-
documentLifecycleChrome 106 lub nowsza wersja
Cykl życia, w którym znajduje się dokument.
-
błąd
tekst
Opis błędu. Nie gwarantujemy, że ten ciąg znaków będzie zgodny wstecznie między wersjami. Nie wolno go analizować ani podejmować działań na podstawie jego zawartości.
-
frameId
liczba
Wartość 0 oznacza, że żądanie występuje w ramce głównej, a wartość dodatnia wskazuje identyfikator ramki podrzędnej, w której występuje żądanie. Jeśli dokument (pod)ramki jest wczytany (
typetomain_framelubsub_frame),frameIdwskazuje identyfikator tej ramki, a nie identyfikator ramki zewnętrznej. Identyfikatory ramek są unikalne w obrębie karty. -
frameTypeChrome 106 lub nowsza wersja
Typ ramki, w której wystąpiło żądanie.
-
fromCache
wartość logiczna
Wskazuje, czy ta odpowiedź została pobrana z pamięci podręcznej na dysku.
-
inicjator
ciąg znaków opcjonalny
Chrome 63 lub nowsza wersjaŹródło, z którego zainicjowano żądanie. Nie zmienia się on w przypadku przekierowań. Jeśli jest to nieprzezroczyste źródło, używany jest ciąg tekstowy „null”.
-
ip
ciąg znaków opcjonalny
Adres IP serwera, na który faktycznie wysłano żądanie. Pamiętaj, że może to być adres IPv6.
-
method
tekst
Standardowa metoda HTTP.
-
parentDocumentId
ciąg znaków opcjonalny
Chrome 106 lub nowsza wersjaIdentyfikator UUID dokumentu nadrzędnego, do którego należy ta ramka. Jeśli nie ma elementu nadrzędnego, ta wartość nie jest ustawiona.
-
parentFrameId
liczba
Identyfikator ramki, która zawiera ramkę wysyłającą żądanie. Jeśli nie ma ramki nadrzędnej, ustaw wartość -1.
-
requestId
tekst
Identyfikator żądania. Identyfikatory żądań są unikalne w ramach sesji przeglądarki. W efekcie można ich używać do powiązania różnych zdarzeń z tego samego żądania.
-
tabId
liczba
Identyfikator karty, na której występuje żądanie. Jeśli żądanie nie jest powiązane z kartą, ustaw wartość -1.
-
timeStamp
liczba
Czas aktywacji sygnału w milisekundach od początku epoki.
-
typ
Sposób wykorzystania żądanego zasobu.
-
URL
tekst
-
-
-
filtr
-
extraInfoSpec
OnErrorOccurredOptions[] opcjonalny
onHeadersReceived
chrome.webRequest.onHeadersReceived.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnHeadersReceivedOptions[],
)
Uruchamiane po odebraniu nagłówków odpowiedzi HTTP żądania.
Parametry
-
callback
funkcja
Parametr
callbackwygląda tak:(details: object) => BlockingResponse | undefined
-
szczegóły
obiekt
-
documentId
ciąg znaków opcjonalny
Chrome 106 lub nowsza wersjaIdentyfikator UUID dokumentu, który wysyła żądanie.
-
documentLifecycleChrome 106 lub nowsza wersja
Cykl życia, w którym znajduje się dokument.
-
frameId
liczba
Wartość 0 oznacza, że żądanie występuje w ramce głównej, a wartość dodatnia wskazuje identyfikator ramki podrzędnej, w której występuje żądanie. Jeśli dokument (pod)ramki jest wczytany (
typetomain_framelubsub_frame),frameIdwskazuje identyfikator tej ramki, a nie identyfikator ramki zewnętrznej. Identyfikatory ramek są unikalne w obrębie karty. -
frameTypeChrome 106 lub nowsza wersja
Typ ramki, w której wystąpiło żądanie.
-
inicjator
ciąg znaków opcjonalny
Chrome 63 lub nowsza wersjaŹródło, z którego zainicjowano żądanie. Nie zmienia się on w przypadku przekierowań. Jeśli jest to nieprzezroczyste źródło, używany jest ciąg tekstowy „null”.
-
method
tekst
Standardowa metoda HTTP.
-
parentDocumentId
ciąg znaków opcjonalny
Chrome 106 lub nowsza wersjaIdentyfikator UUID dokumentu nadrzędnego, do którego należy ta ramka. Jeśli nie ma elementu nadrzędnego, ta wartość nie jest ustawiona.
-
parentFrameId
liczba
Identyfikator ramki, która zawiera ramkę wysyłającą żądanie. Jeśli nie ma ramki nadrzędnej, ustaw wartość -1.
-
requestId
tekst
Identyfikator żądania. Identyfikatory żądań są unikalne w ramach sesji przeglądarki. W efekcie można ich używać do powiązania różnych zdarzeń z tego samego żądania.
-
responseHeaders
HttpHeaders opcjonalne
Nagłówki odpowiedzi HTTP, które zostały odebrane wraz z tą odpowiedzią.
-
securityInfo
SecurityInfo opcjonalny
Chrome 144 lub nowsza wersjaInformacje o połączeniu TLS/QUIC używanym do połączenia podstawowego. Podawany tylko wtedy, gdy w parametrze
extraInfoSpecokreślonosecurityInfo. -
statusCode
liczba
Chrome 43 lub nowsza wersjaStandardowy kod stanu HTTP zwracany przez serwer.
-
statusLine
tekst
Wiersz stanu HTTP odpowiedzi lub ciąg znaków „HTTP/0.9 200 OK” w przypadku odpowiedzi HTTP/0.9 (czyli odpowiedzi, które nie mają wiersza stanu).
-
tabId
liczba
Identyfikator karty, na której występuje żądanie. Jeśli żądanie nie jest powiązane z kartą, ustaw wartość -1.
-
timeStamp
liczba
Czas aktywacji sygnału w milisekundach od początku epoki.
-
typ
Sposób wykorzystania żądanego zasobu.
-
URL
tekst
-
-
returns
BlockingResponse | undefined
Jeśli w parametrze „extraInfoSpec” określono „blocking”, detektor zdarzeń powinien zwrócić obiekt tego typu.
-
-
filtr
-
extraInfoSpec
OnHeadersReceivedOptions[] opcjonalny
onResponseStarted
chrome.webRequest.onResponseStarted.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnResponseStartedOptions[],
)
Uruchamiane po odebraniu pierwszego bajtu treści odpowiedzi. W przypadku żądań HTTP oznacza to, że dostępne są wiersz stanu i nagłówki odpowiedzi.
Parametry
-
callback
funkcja
Parametr
callbackwygląda tak:(details: object) => void
-
szczegóły
obiekt
-
documentId
ciąg znaków opcjonalny
Chrome 106 lub nowsza wersjaIdentyfikator UUID dokumentu, który wysyła żądanie.
-
documentLifecycleChrome 106 lub nowsza wersja
Cykl życia, w którym znajduje się dokument.
-
frameId
liczba
Wartość 0 oznacza, że żądanie występuje w ramce głównej, a wartość dodatnia wskazuje identyfikator ramki podrzędnej, w której występuje żądanie. Jeśli dokument (pod)ramki jest wczytany (
typetomain_framelubsub_frame),frameIdwskazuje identyfikator tej ramki, a nie identyfikator ramki zewnętrznej. Identyfikatory ramek są unikalne w obrębie karty. -
frameTypeChrome 106 lub nowsza wersja
Typ ramki, w której wystąpiło żądanie.
-
fromCache
wartość logiczna
Wskazuje, czy ta odpowiedź została pobrana z pamięci podręcznej na dysku.
-
inicjator
ciąg znaków opcjonalny
Chrome 63 lub nowsza wersjaŹródło, z którego zainicjowano żądanie. Nie zmienia się on w przypadku przekierowań. Jeśli jest to nieprzezroczyste źródło, używany jest ciąg tekstowy „null”.
-
ip
ciąg znaków opcjonalny
Adres IP serwera, na który faktycznie wysłano żądanie. Pamiętaj, że może to być adres IPv6.
-
method
tekst
Standardowa metoda HTTP.
-
parentDocumentId
ciąg znaków opcjonalny
Chrome 106 lub nowsza wersjaIdentyfikator UUID dokumentu nadrzędnego, do którego należy ta ramka. Jeśli nie ma elementu nadrzędnego, ta wartość nie jest ustawiona.
-
parentFrameId
liczba
Identyfikator ramki, która zawiera ramkę wysyłającą żądanie. Jeśli nie ma ramki nadrzędnej, ustaw wartość -1.
-
requestId
tekst
Identyfikator żądania. Identyfikatory żądań są unikalne w ramach sesji przeglądarki. W efekcie można ich używać do powiązania różnych zdarzeń z tego samego żądania.
-
responseHeaders
HttpHeaders opcjonalne
Nagłówki odpowiedzi HTTP, które zostały odebrane wraz z tą odpowiedzią.
-
statusCode
liczba
Standardowy kod stanu HTTP zwracany przez serwer.
-
statusLine
tekst
Wiersz stanu HTTP odpowiedzi lub ciąg „HTTP/0.9 200 OK” w przypadku odpowiedzi HTTP/0.9 (czyli odpowiedzi, które nie mają wiersza stanu) lub pusty ciąg, jeśli nie ma nagłówków.
-
tabId
liczba
Identyfikator karty, na której występuje żądanie. Jeśli żądanie nie jest powiązane z kartą, ustaw wartość -1.
-
timeStamp
liczba
Czas aktywacji sygnału w milisekundach od początku epoki.
-
typ
Sposób wykorzystania żądanego zasobu.
-
URL
tekst
-
-
-
filtr
-
extraInfoSpec
OnResponseStartedOptions[] opcjonalny
onSendHeaders
chrome.webRequest.onSendHeaders.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnSendHeadersOptions[],
)
Uruchamiane tuż przed wysłaniem żądania do serwera (modyfikacje poprzednich wywołań zwrotnych onBeforeSendHeaders są widoczne po uruchomieniu onSendHeaders).
Parametry
-
callback
funkcja
Parametr
callbackwygląda tak:(details: object) => void
-
szczegóły
obiekt
-
documentId
ciąg znaków opcjonalny
Chrome 106 lub nowsza wersjaIdentyfikator UUID dokumentu, który wysyła żądanie.
-
documentLifecycleChrome 106 lub nowsza wersja
Cykl życia, w którym znajduje się dokument.
-
frameId
liczba
Wartość 0 oznacza, że żądanie występuje w ramce głównej, a wartość dodatnia wskazuje identyfikator ramki podrzędnej, w której występuje żądanie. Jeśli dokument (pod)ramki jest wczytany (
typetomain_framelubsub_frame),frameIdwskazuje identyfikator tej ramki, a nie identyfikator ramki zewnętrznej. Identyfikatory ramek są unikalne w obrębie karty. -
frameTypeChrome 106 lub nowsza wersja
Typ ramki, w której wystąpiło żądanie.
-
inicjator
ciąg znaków opcjonalny
Chrome 63 lub nowsza wersjaŹródło, z którego zainicjowano żądanie. Nie zmienia się on w przypadku przekierowań. Jeśli jest to nieprzezroczyste źródło, używany jest ciąg tekstowy „null”.
-
method
tekst
Standardowa metoda HTTP.
-
parentDocumentId
ciąg znaków opcjonalny
Chrome 106 lub nowsza wersjaIdentyfikator UUID dokumentu nadrzędnego, do którego należy ta ramka. Jeśli nie ma elementu nadrzędnego, ta wartość nie jest ustawiona.
-
parentFrameId
liczba
Identyfikator ramki, która zawiera ramkę wysyłającą żądanie. Jeśli nie ma ramki nadrzędnej, ustaw wartość -1.
-
requestHeaders
HttpHeaders opcjonalne
Nagłówki żądania HTTP, które zostały wysłane z tym żądaniem.
-
requestId
tekst
Identyfikator żądania. Identyfikatory żądań są unikalne w ramach sesji przeglądarki. W efekcie można ich używać do powiązania różnych zdarzeń z tego samego żądania.
-
tabId
liczba
Identyfikator karty, na której występuje żądanie. Jeśli żądanie nie jest powiązane z kartą, ustaw wartość -1.
-
timeStamp
liczba
Czas aktywacji sygnału w milisekundach od początku epoki.
-
typ
Sposób wykorzystania żądanego zasobu.
-
URL
tekst
-
-
-
filtr
-
extraInfoSpec
OnSendHeadersOptions[] opcjonalny