Descrizione
Utilizza l'API chrome.webRequest
per osservare e analizzare il traffico e intercettare, bloccare o modificare le richieste in corso.
Autorizzazioni
webRequest
Per usare la richiesta web, devi dichiarare l'autorizzazione "webRequest"
nel manifest dell'estensione
dell'API, insieme alle autorizzazioni host necessarie. Per intercettare una richiesta di risorsa secondaria,
l'estensione deve avere accesso sia all'URL richiesto sia all'iniziatore. Ad esempio:
{
"name": "My extension",
...
"permissions": [
"webRequest"
],
"host_permissions": [
"*://*.google.com/*"
],
...
}
webRequestBlocking
Necessario per registrare i gestori di eventi di blocco. A partire da Manifest V3, queste tempistiche disponibili per le estensioni con installazione di criteri.
webRequestAuthProvider
Obbligatorio per utilizzare il metodo onAuthRequired
. Consulta
Gestione dell'autenticazione.
Concetti e utilizzo
Ciclo di vita delle richieste
L'API Web Request definisce un insieme di eventi che seguono il ciclo di vita di una richiesta web. Puoi utilizzare questi eventi per osservare e analizzare il traffico. Alcuni eventi sincroni ti permettono di intercettare, bloccare o modificare una richiesta.
Il ciclo di vita degli eventi per le richieste andate a buon fine è illustrato qui, seguito dalle definizioni degli eventi:
onBeforeRequest
(facoltativamente sincrona)- Attiva quando sta per essere effettuata una richiesta. Questo evento viene inviato prima che venga stabilita una connessione TCP e può per annullare o reindirizzare le richieste.
onBeforeSendHeaders
(facoltativamente sincrona)- Attiva quando sta per verificarsi una richiesta e le intestazioni iniziali sono state preparate. L'evento è
ha lo scopo di consentire alle estensioni di aggiungere, modificare ed eliminare le intestazioni delle richieste (*). La
L'evento
onBeforeSendHeaders
viene passato a tutti gli iscritti, quindi sottoscrittori diversi potrebbero tentare di modificare la richiesta; consulta la sezione Dettagli di implementazione per sapere come viene gestito questo problema. Questo evento può essere utilizzato per annullare la richiesta. onSendHeaders
- Si attiva quando tutte le estensioni hanno avuto la possibilità di modificare le intestazioni della richiesta e presenta l'elemento finale Versione (*). L'evento viene attivato prima che le intestazioni vengano inviate alla rete. Questo evento è informativi e gestiti in modo asincrono. Non consente di modificare o annullare la richiesta.
onHeadersReceived
(facoltativamente sincrona)- Si attiva ogni volta che viene ricevuta un'intestazione di risposta HTTP(S). A causa di reindirizzamenti e autenticazione questo può avvenire più volte per ogni richiesta. Questo evento ha lo scopo di consentire alle estensioni di aggiungere, modificare ed eliminare le intestazioni delle risposte, come le intestazioni Content-Type in arrivo. La memorizzazione nella cache vengono elaborate prima che questo evento venga attivato, pertanto modificando intestazioni come Cache-Control non influisce sulla cache del browser. Ti consente anche di annullare o reindirizzare la richiesta.
onAuthRequired
(facoltativamente sincrona)- Si attiva quando una richiesta richiede l'autenticazione dell'utente. Questo evento può essere gestito in modo sincrono fornire le credenziali di autenticazione. Tieni presente che le estensioni possono fornire credenziali non valide. A presto e in bocca al lupo per il futuro non inserire un loop infinito fornendo ripetutamente credenziali non valide. Può essere utilizzato anche per annulla la richiesta.
onBeforeRedirect
- Si attiva quando sta per essere eseguito un reindirizzamento. Un reindirizzamento può essere attivato da una risposta HTTP o da un'estensione. Questo evento è informativo e viene gestito in modo asincrono. Non consente di modificare o annullare la richiesta.
onResponseStarted
- Attiva quando viene ricevuto il primo byte del corpo della risposta. Per le richieste HTTP, ciò significa che riga di stato e intestazioni di risposta. Questo evento è informativo e gestito in modo asincrono. Non consente di modificare o annullare la richiesta.
onCompleted
- Si attiva quando una richiesta viene elaborata correttamente.
onErrorOccurred
- Attiva quando non è stato possibile elaborare una richiesta.
L'API Web Request garantisce che per ogni richiesta onCompleted
o onErrorOccurred
siano
viene attivato come evento finale con una sola eccezione: se la richiesta viene reindirizzata a un URL data://
,
onBeforeRedirect
è l'ultimo evento segnalato.
* Tieni presente che l'API di richiesta web presenta un'astrazione dello stack di rete all'estensione. Internamente, una richiesta URL può essere suddivisa in più richieste HTTP (ad esempio, per recuperare singole byte, da un file di grandi dimensioni) o possono essere gestiti dallo stack di rete senza comunicare con in ogni rete. Per questo motivo, l'API non fornisce le intestazioni HTTP finali che vengono inviate al in ogni rete. Ad esempio, tutte le intestazioni relative alla memorizzazione nella cache sono invisibili all'estensione.
Al momento, le seguenti intestazioni non sono fornite per l'evento onBeforeSendHeaders
. Questo elenco
non è garantita la completezza o la stabilità.
- Autorizzazione
- Cache-Control
- Connessione
- Contenuti-Lunghezza
- Host
- Se-Modificato-Da
- Se-nessuna-corrispondenza
- Intervallo if
- Dati parziali
- Pragma
- Autorizzazione proxy
- Connessione-proxy
- Transfer-Encoding
A partire da Chrome 79, le modifiche delle intestazioni delle richieste influiscono sulla condivisione delle risorse tra origini (CORS)
controlli. Se le intestazioni modificate per le richieste multiorigine non soddisfano i criteri, verranno generati
invio di un preflight CORS per chiedere al server se queste intestazioni possono essere accettate. Se hai davvero bisogno
modificare le intestazioni in modo da violare il protocollo CORS, devi specificare 'extraHeaders'
in
opt_extraInfoSpec
. D'altra parte, le modifiche dell'intestazione della risposta non funzionano per ingannare CORS
controlli. Se devi ingannare il protocollo CORS, devi anche specificare 'extraHeaders'
per il
modifiche alle risposte.
A partire da Chrome 79, l'API webRequest non intercetta le richieste preflight CORS e
risposte predefinite. Un preflight CORS per un URL di richiesta è visibile a un'estensione se è presente un
listener con 'extraHeaders'
specificato in opt_extraInfoSpec
per l'URL della richiesta.
onBeforeRequest
può anche prendere 'extraHeaders'
da Chrome 79.
A partire da Chrome 79, la seguente intestazione della richiesta non è fornita e non può essere modificata o
rimosso senza specificare 'extraHeaders'
in opt_extraInfoSpec
:
- Origine
A partire da Chrome 72, se devi modificare le risposte prima del blocco della lettura tra origini
(CORB) può bloccare la risposta. Devi specificare 'extraHeaders'
in opt_extraInfoSpec
.
A partire da Chrome 72, le seguenti intestazioni delle richieste non sono fornite e non possono essere modificate
o rimosso senza specificare 'extraHeaders'
in opt_extraInfoSpec
:
- Lingua accettata
- Accept-Encoding
- Referer
- Cookie
A partire da Chrome 72, l'intestazione della risposta Set-Cookie
non è fornita e non può essere modificata
o rimosso senza specificare 'extraHeaders'
in opt_extraInfoSpec
.
A partire da Chrome 89, l'intestazione della risposta X-Frame-Options
non può essere modificata in modo efficace
o rimosso senza specificare 'extraHeaders'
in opt_extraInfoSpec
.
L'API webRequest espone solo le richieste per le quali l'estensione è autorizzata a visualizzare, dato il suo host
autorizzazioni. Inoltre, sono accessibili solo i seguenti schemi: http://
, https://
,
ftp://
, file://
, ws://
(da Chrome 58), wss://
(da Chrome 58), urn:
(da Chrome 91) oppure
chrome-extension://
. Inoltre, anche alcune richieste con URL che utilizzano uno degli schemi precedenti
sono nascosti. Sono inclusi chrome-extension://other_extension_id
, dove other_extension_id
non è
l'ID dell'estensione per gestire la richiesta, https://www.google.com/chrome
e altre
richiede la funzionalità di base del browser. Anche le XMLHttpRequests sincrone dell'estensione vengono
nascosti dal blocco dei gestori di eventi, al fine di evitare i deadlock. Tieni presente che per alcuni
schemi supportati, l'insieme di eventi disponibili potrebbe essere limitato a causa della natura
protocollo corrispondente. Ad esempio, per il file: schema, solo onBeforeRequest
,
Potrebbero essere spediti onResponseStarted
, onCompleted
e onErrorOccurred
.
A partire da Chrome 58, l'API webRequest supporta l'intercettazione della richiesta di handshake WebSocket. Poiché l'handshake viene eseguito per mezzo di una richiesta di upgrade HTTP, il suo flusso si adatta webRequest. Tieni presente che l'API non intercetta:
- Singoli messaggi inviati tramite una connessione WebSocket stabilita.
- Chiusura della connessione WebSocket.
I reindirizzamenti non sono supportati per le richieste WebSocket.
A partire da Chrome 72, un'estensione potrà intercettare una richiesta solo se ha un host autorizzazioni sia all'URL richiesto sia all'iniziatore della richiesta.
A partire da Chrome 96, l'API webRequest supporta l'intercettazione di WebTransport tramite HTTP/3 richiesta di handshake. Poiché l'handshake viene eseguito per mezzo di una richiesta HTTP CONNECT, il suo flusso si adatta in un modello webRequest orientato a HTTP. Ricorda:
- Una volta stabilita la sessione, le estensioni non possono osservare o intervenire nella sessione tramite l'API webRequest.
- La modifica delle intestazioni delle richieste HTTP in
onBeforeSendHeaders
viene ignorata. - I reindirizzamenti e le autenticazioni non sono supportati in WebTransport tramite HTTP/3.
ID richieste
Ogni richiesta è identificata da un ID richiesta. Questo ID è univoco all'interno di una sessione del browser e contesto di un'estensione. Rimane costante durante il ciclo di vita di una richiesta e può essere utilizzato per creare corrispondenze tra gli eventi della stessa richiesta. Tieni presente che più richieste HTTP sono mappate a una singola richiesta web. in caso di reindirizzamento HTTP o di autenticazione HTTP.
Registrazione dei listener di eventi in corso
Per registrare un listener di eventi per una richiesta web, utilizza una variante della solita addListener()
personalizzata. Oltre a una funzione di callback, devi specificare un argomento di filtro e puoi specificare un argomento facoltativo di informazioni aggiuntive.
I tre argomenti dell'addListener()
dell'API di richiesta web hanno le seguenti definizioni:
var callback = function(details) {...};
var filter = {...};
var opt_extraInfoSpec = [...];
Ecco un esempio di come ascoltare l'evento onBeforeRequest
:
chrome.webRequest.onBeforeRequest.addListener(
callback, filter, opt_extraInfoSpec);
Ogni chiamata addListener()
assume una funzione di callback obbligatoria come primo parametro. Questo callback
viene passata un dizionario contenente informazioni sulla richiesta URL corrente. La
le informazioni in questo dizionario dipendono dal tipo di evento specifico e dal contenuto
opt_extraInfoSpec
.
Se l'array facoltativo opt_extraInfoSpec
contiene la stringa 'blocking'
(consentita solo per
eventi specifici), la funzione di callback viene gestita in modo sincrono. Ciò significa che la richiesta
bloccato finché non restituisce la funzione di callback. In questo caso, il callback può restituire un
webRequest.BlockingResponse
che determina l'ulteriore ciclo di vita della richiesta. A seconda
nel contesto, questa risposta consente di annullare o reindirizzare una richiesta (onBeforeRequest
),
annullare una richiesta o modificare le intestazioni (onBeforeSendHeaders
, onHeadersReceived
), e
annullare una richiesta o fornire le credenziali di autenticazione (onAuthRequired
).
Se l'array facoltativo opt_extraInfoSpec
contiene invece la stringa 'asyncBlocking'
(solo
consentito per onAuthRequired
), l'estensione può generare webRequest.BlockingResponse
in modo asincrono.
L'elemento webRequest.RequestFilter
filter
consente di limitare le richieste per le quali gli eventi vengono
attivati in varie dimensioni:
- URL
- Pattern URL come
*://www.google.com/foo*bar
. - Tipi
- Tipi di richiesta come
main_frame
(un documento caricato per un frame di primo livello),sub_frame
(un documento caricato per un frame incorporato) eimage
(un'immagine su un sito web). ConsultawebRequest.RequestFilter
- ID scheda
- L'identificatore di una scheda.
- ID finestra
- L'identificatore di una finestra.
A seconda del tipo di evento, puoi specificare in opt_extraInfoSpec
stringhe per richiedere ulteriori
le informazioni sulla richiesta. Viene utilizzato solo per fornire informazioni dettagliate sui dati della richiesta
se richiesto esplicitamente.
Gestione dell'autenticazione
Per gestire le richieste per l'autenticazione HTTP, aggiungi "webRequestAuthProvider"
autorizzazione per il tuo file manifest:
{
"permissions": [
"webRequest",
"webRequestAuthProvider"
]
}
Tieni presente che questa autorizzazione non è necessaria per un'estensione installata di criteri con
l'autorizzazione "webRequestBlocking"
.
Per fornire le credenziali in modo sincrono:
chrome.webRequest.onAuthRequired.addListener((details) => {
return {
authCredentials: {
username: 'guest',
password: 'guest'
}
};
},
{ urls: ['https://httpbin.org/basic-auth/guest/guest'] },
['blocking']
);
Per fornire le credenziali in modo asincrono:
chrome.webRequest.onAuthRequired.addListener((details, callback) => {
callback({
authCredentials: {
username: 'guest',
password: 'guest'
}
});
},
{ urls: ['https://httpbin.org/basic-auth/guest/guest'] },
['asyncBlocking']
);
Dettagli di implementazione
È importante comprendere diversi dettagli di implementazione durante lo sviluppo di un'estensione che utilizza l'API Web Request:
web_accessible_resources
Quando un'estensione utilizza le API webRequest per reindirizzare una richiesta di risorsa pubblica a una risorsa non accessibile dal web, l'estensione viene bloccata e genera un errore. Quanto sopra vale anche se la risorsa non accessibile dal web è di proprietà dell'estensione di reindirizzamento. Per dichiarare le risorse da utilizzare con le API declarativeWebRequest, l'array "web_accessible_resources"
deve essere dichiarato e compilato nel manifest come documentato qui.
Risoluzione dei conflitti
Nell'attuale implementazione dell'API di richiesta web, una richiesta viene considerata annullata se
almeno un'estensione indica di annullare la richiesta. Se un'estensione annulla una richiesta,
le estensioni ricevono una notifica da un evento onErrorOccurred
. Solo una estensione può reindirizzare un
richiedere o modificare un'intestazione alla volta. Se più estensioni tentano di modificare la richiesta,
le estensioni installate più di recente vince, mentre tutte le altre vengono ignorate. L'estensione non viene avvisata se
l'istruzione di modifica o reindirizzamento è stata ignorata.
Memorizzazione nella cache
Chrome utilizza due cache: una su disco e una cache in memoria molto veloce. La durata di un
La cache in memoria è collegata alla durata di un processo di rendering, che corrisponde più o meno a una scheda.
Le richieste che ricevono risposta dalla cache in memoria non sono visibili all'API Web Request. Se
gestore di richieste cambia il proprio comportamento (ad esempio, il comportamento in base al quale le richieste vengono
bloccato), un semplice aggiornamento della pagina potrebbe non rispettare questo nuovo comportamento. Per garantire che il comportamento
modifica, chiama handlerBehaviorChanged()
per svuotare la cache in memoria. Ma non farlo
spesso; Lo svuotamento della cache è un'operazione molto costosa. Non è necessario chiamare
handlerBehaviorChanged()
dopo la registrazione o l'annullamento della registrazione di un listener di eventi.
Timestamp
La coerenza della proprietà timestamp
degli eventi di richiesta web è garantita solo internamente.
Confrontando un evento con un altro, otterrai l'offset corretto, ma se confronti
all'ora corrente all'interno dell'estensione (tramite (new Date()).getTime()
, ad esempio) potrebbero
o restituire risultati imprevisti.
Gestione degli errori
Se provi a registrare un evento con argomenti non validi, verrà restituito un errore JavaScript e il gestore di eventi non verrà registrato. Se viene generato un errore mentre viene gestito un evento o se il gestore di eventi restituisce una risposta di blocco non valida. Viene registrato un messaggio di errore nel e il gestore viene ignorato per quella richiesta.
Esempi
L'esempio seguente illustra come bloccare tutte le richieste a www.evil.com
:
chrome.webRequest.onBeforeRequest.addListener(
function(details) {
return {cancel: details.url.indexOf("://www.evil.com/") != -1};
},
{urls: ["<all_urls>"]},
["blocking"]
);
Poiché questa funzione utilizza un gestore di eventi di blocco, richiede "webRequest"
e
Autorizzazione "webRequestBlocking"
nel file manifest.
L'esempio seguente consente di raggiungere lo stesso obiettivo in modo più efficiente perché le richieste che non sono
destinati a www.evil.com
non devono essere trasmessi all'estensione:
chrome.webRequest.onBeforeRequest.addListener(
function(details) { return {cancel: true}; },
{urls: ["*://www.evil.com/*"]},
["blocking"]
);
L'esempio seguente illustra come eliminare l'intestazione User-Agent da tutte le richieste:
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"]
);
Per provare l'API chrome.webRequest
,
installa l'esempio di richiesta web da chrome-extension-samples
repository Git.
Tipi
BlockingResponse
Restituisce il valore per i gestori di eventi che hanno il blocco Opzione extraInfoSpec applicata. Consente al gestore di eventi di modificare le richieste di rete.
Proprietà
-
authCredentials
oggetto facoltativo
Utilizzato solo come risposta all'evento onAuthRequired. Se impostate, la richiesta viene effettuata utilizzando le credenziali fornite.
-
password
stringa
-
nome utente
stringa
-
-
annulla
booleano facoltativo
Se true, la richiesta viene annullata. Ciò impedisce l'invio della richiesta. Può essere utilizzato come risposta agli eventi onBeforeRequest, onBeforeSendHeaders, onHeadersReceived e onAuthRequired.
-
redirectUrl
stringa facoltativo
Utilizzato solo come risposta agli eventi onBeforeRequest e onHeadersReceived. Se impostato, la richiesta originale non potrà essere inviata/completata e verrà invece reindirizzata all'URL specificato. Sono consentiti i reindirizzamenti a schemi non HTTP come
data:
. I reindirizzamenti avviati da un'azione di reindirizzamento utilizzano il metodo di richiesta originale per il reindirizzamento, con un'eccezione: se il reindirizzamento viene avviato nella fase onHeadersReceived, il reindirizzamento verrà emesso utilizzando il metodo GET. I reindirizzamenti dagli URL con schemiws://
ewss://
vengono ignorati. -
requestHeaders
HttpHeaders facoltativo
Utilizzato solo come risposta all'evento onBeforeSendHeaders. Se impostate, la richiesta viene effettuata con queste intestazioni della richiesta.
-
responseHeaders
HttpHeaders facoltativo
Utilizzato solo come risposta all'evento onHeadersReceived. Se impostato, si presume che il server abbia risposto con queste intestazioni di risposta. Restituisci
responseHeaders
solo se vuoi davvero modificare le intestazioni per limitare il numero di conflitti (una sola estensione può modificareresponseHeaders
per ogni richiesta).
FormDataItem
Contiene i dati passati all'interno dei dati del modulo. Per il formato con codifica URL viene memorizzato come stringa se i dati sono in una stringa utf-8, altrimenti come Arraybu. Per form-data si tratta di ArrayBuffer. Se form-data rappresenta il caricamento di un file, si tratta di una stringa con nome file, se il nome del file viene fornito.
Enum
ArrayBuffer
stringa
HttpHeaders
Un array di intestazioni HTTP. Ogni intestazione è rappresentata da un dizionario contenente le chiavi name
e value
o binaryValue
.
Tipo
object[]
Proprietà
-
binaryValue
numero[] facoltativo
Valore dell'intestazione HTTP se non può essere rappresentata da UTF-8, memorizzata come singoli valori di byte (0..255).
-
nome
stringa
Nome dell'intestazione HTTP.
-
valore
stringa facoltativo
Valore dell'intestazione HTTP se può essere rappresentata da UTF-8.
IgnoredActionType
Enum
"reindirizzamento"
"request_headers"
"response_headers"
"auth_credentials"
OnAuthRequiredOptions
Enum
"responseHeaders"
Specifica che le intestazioni della risposta devono essere incluse nell'evento.
"bloccare"
Specifica che la richiesta è bloccata fino a quando non viene restituita la funzione di callback.
"asyncBlocking"
Specifica che la funzione di callback viene gestita in modo asincrono.
"extraHeaders"
Specifica che le intestazioni possono violare la condivisione delle risorse tra origini (CORS).
OnBeforeRedirectOptions
Enum
"responseHeaders"
Specifica che le intestazioni della risposta devono essere incluse nell'evento.
"extraHeaders"
Specifica che le intestazioni possono violare la condivisione delle risorse tra origini (CORS).
OnBeforeRequestOptions
Enum
"bloccare"
Specifica che la richiesta è bloccata fino a quando non viene restituita la funzione di callback.
"requestBody"
Specifica che il corpo della richiesta deve essere incluso nell'evento.
"extraHeaders"
Specifica che le intestazioni possono violare la condivisione delle risorse tra origini (CORS).
OnBeforeSendHeadersOptions
Enum
"requestHeaders"
Specifica che l'intestazione della richiesta deve essere inclusa nell'evento.
"bloccare"
Specifica che la richiesta è bloccata fino a quando non viene restituita la funzione di callback.
"extraHeaders"
Specifica che le intestazioni possono violare la condivisione delle risorse tra origini (CORS).
OnCompletedOptions
Enum
"responseHeaders"
Specifica che le intestazioni della risposta devono essere incluse nell'evento.
"extraHeaders"
Specifica che le intestazioni possono violare la condivisione delle risorse tra origini (CORS).
OnErrorOccurredOptions
Valore
"extraHeaders"
OnHeadersReceivedOptions
Enum
"bloccare"
Specifica che la richiesta è bloccata fino a quando non viene restituita la funzione di callback.
"responseHeaders"
Specifica che le intestazioni della risposta devono essere incluse nell'evento.
"extraHeaders"
Specifica che le intestazioni possono violare la condivisione delle risorse tra origini (CORS).
OnResponseStartedOptions
Enum
"responseHeaders"
Specifica che le intestazioni della risposta devono essere incluse nell'evento.
"extraHeaders"
Specifica che le intestazioni possono violare la condivisione delle risorse tra origini (CORS).
OnSendHeadersOptions
Enum
"requestHeaders"
Specifica che l'intestazione della richiesta deve essere inclusa nell'evento.
"extraHeaders"
Specifica che le intestazioni possono violare la condivisione delle risorse tra origini (CORS).
RequestFilter
Un oggetto che descrive i filtri da applicare agli eventi webRequest.
Proprietà
-
tabId
numero facoltativo
-
tipi
ResourceType[] facoltativo
Un elenco dei tipi di richieste. Le richieste che non possono corrispondere a nessun tipo verranno escluse.
-
Url
stringa[]
Un elenco di URL o pattern URL. Le richieste che non corrispondono a nessuno degli URL verranno filtrate.
-
windowId
numero facoltativo
ResourceType
Enum
"main_frame"
Specifica la risorsa come frame principale.
"sub_frame"
Specifica la risorsa come frame secondario.
"stylesheet"
Specifica la risorsa come foglio di stile.
"script"
Specifica la risorsa come script.
"image"
Specifica la risorsa come immagine.
"font"
Specifica la risorsa come carattere.
"object"
Specifica la risorsa come oggetto.
"xmlhttprequest"
Specifica la risorsa come XMLHttpRequest.
"ping"
Specifica la risorsa come ping.
"csp_report"
Specifica la risorsa come report CSP (Content Security Policy).
"media"
Specifica la risorsa come oggetto multimediale.
"websocket"
Specifica la risorsa come WebSocket.
"webbundle"
Specifica la risorsa come WebBundle.
"other"
Specifica la risorsa come un tipo non incluso nei tipi elencati.
UploadData
Contiene i dati caricati in una richiesta di URL.
Proprietà
-
byte
qualsiasi opzione facoltativa
Un Arraybu con una copia dei dati.
-
file
stringa facoltativo
Una stringa con il percorso e il nome del file.
Proprietà
MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES
Il numero massimo di chiamate handlerBehaviorChanged
in un intervallo sostenuto di 10 minuti. handlerBehaviorChanged
è una chiamata di funzione costosa che non dovrebbe essere chiamata spesso.
Valore
20
Metodi
handlerBehaviorChanged()
chrome.webRequest.handlerBehaviorChanged(
callback?: function,
)
Deve essere chiamato quando il comportamento dei gestori webRequest è cambiato per evitare una gestione errata a causa della memorizzazione nella cache. Questa chiamata di funzione è costosa. Non chiamarla spesso.
Parametri
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promesso<void>
Chrome 116 e versioni successive .Le promesse sono supportate in Manifest V3 e versioni successive, ma sono disponibili callback per la compatibilità con le versioni precedenti. Non puoi utilizzare entrambi nella stessa chiamata di funzione. La si risolve con lo stesso tipo passato al callback.
Eventi
onActionIgnored
chrome.webRequest.onActionIgnored.addListener(
callback: function,
)
Attivato quando la modifica proposta da un'estensione a una richiesta di rete viene ignorata. Ciò si verifica in caso di conflitti con altre estensioni.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(details: object) => void
-
dettagli
oggetto
-
azione
L'azione proposta che è stata ignorata.
-
requestId
stringa
L'ID della richiesta. Gli ID richiesta sono univoci all'interno di una sessione del browser. Di conseguenza, potrebbero essere utilizzati per collegare eventi diversi della stessa richiesta.
-
-
onAuthRequired
chrome.webRequest.onAuthRequired.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnAuthRequiredOptions[],
)
Attivato quando viene ricevuto un errore di autenticazione. Il listener ha tre opzioni: può fornire le credenziali di autenticazione, può annullare la richiesta e visualizzare la pagina di errore o non può eseguire alcuna azione sulla richiesta. Se vengono fornite credenziali utente errate, questa richiesta potrebbe essere chiamata più volte per la stessa richiesta. Tieni presente che nel parametro extraInfoSpec
deve essere specificata solo una modalità 'blocking'
o 'asyncBlocking'
.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(details: object, asyncCallback?: function) => BlockingResponse | undefined
-
dettagli
oggetto
-
sfidante
oggetto
Il server che richiede l'autenticazione.
-
host
stringa
-
porta
numero
-
-
documentId
stringa
Chrome 106 e versioni successive .L'UUID del documento che ha effettuato la richiesta.
-
documentLifecycleChrome 106 e versioni successive .
Il ciclo di vita del documento.
-
frameId
numero
Il valore 0 indica che la richiesta avviene nel frame principale. un valore positivo indica l'ID di un frame secondario in cui viene eseguita la richiesta. Se il documento di un (sub-)frame viene caricato (
type
èmain_frame
osub_frame
),frameId
indica l'ID di questo frame, non l'ID del frame esterno. Gli ID frame sono univoci all'interno di una scheda. -
frameTypeChrome 106 e versioni successive .
Il tipo di frame in cui è avvenuta la richiesta.
-
iniziatore
stringa facoltativo
Chrome 63 e versioni successive .L'origine in cui è stata avviata la richiesta. Ciò non avviene con i reindirizzamenti. Se si tratta di un'origine opaca, la stringa "null" .
-
isProxy
booleano
True per Proxy-Authenticate, falso per WWW-Authenticate.
-
method
stringa
Metodo HTTP standard.
-
parentDocumentId
stringa facoltativo
Chrome 106 e versioni successive .L'UUID del documento padre a cui appartiene questo frame. Questa opzione non è impostata se non è presente alcun padre.
-
parentFrameId
numero
ID del frame che aggrega il frame che ha inviato la richiesta. Imposta il valore su -1 se non esiste alcun frame principale.
-
area di autenticazione
stringa facoltativo
L'area di autenticazione fornita dal server, se presente.
-
requestId
stringa
L'ID della richiesta. Gli ID richiesta sono univoci all'interno di una sessione del browser. Di conseguenza, potrebbero essere utilizzati per collegare eventi diversi della stessa richiesta.
-
responseHeaders
HttpHeaders facoltativo
Le intestazioni della risposta HTTP ricevute insieme alla risposta.
-
schema
stringa
Lo schema di autenticazione, ad esempio Di base o digest.
-
statusCode
numero
Chrome 43 e versioni successive .Codice di stato HTTP standard restituito dal server.
-
statusLine
stringa
riga di stato HTTP della risposta o "HTTP/0.9 200 OK" stringa per le risposte HTTP/0.9 (ad es. risposte prive di riga di stato) o stringa vuota se non sono presenti intestazioni.
-
tabId
numero
L'ID della scheda in cui avviene la richiesta. Imposta su -1 se la richiesta non è correlata a una scheda.
-
timeStamp
numero
Il tempo in cui viene attivato questo segnale, in millisecondi dall'epoca.
-
tipo
Modalità di utilizzo della risorsa richiesta.
-
url
stringa
-
-
asyncCallback
funzione facoltativa
Chrome 58 e versioni successive .Il parametro
asyncCallback
ha il seguente aspetto:(response: BlockingResponse) => void
-
risposta
-
-
returns
BlockingResponse | non definito
Se lo "blocca" è specificato nella sezione "extraInfoSpec" , il listener di eventi deve restituire un oggetto di questo tipo.
-
-
filtro
-
extraInfoSpec
OnAuthRequiredOptions[] facoltativo
onBeforeRedirect
chrome.webRequest.onBeforeRedirect.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnBeforeRedirectOptions[],
)
Attivato quando sta per verificarsi un reindirizzamento avviato dal server.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(details: object) => void
-
dettagli
oggetto
-
documentId
stringa
Chrome 106 e versioni successive .L'UUID del documento che ha effettuato la richiesta.
-
documentLifecycleChrome 106 e versioni successive .
Il ciclo di vita del documento.
-
frameId
numero
Il valore 0 indica che la richiesta avviene nel frame principale. un valore positivo indica l'ID di un frame secondario in cui viene eseguita la richiesta. Se il documento di un (sub-)frame viene caricato (
type
èmain_frame
osub_frame
),frameId
indica l'ID di questo frame, non l'ID del frame esterno. Gli ID frame sono univoci all'interno di una scheda. -
frameTypeChrome 106 e versioni successive .
Il tipo di frame in cui è avvenuta la richiesta.
-
fromCache
booleano
Indica se questa risposta è stata recuperata dalla cache su disco.
-
iniziatore
stringa facoltativo
Chrome 63 e versioni successive .L'origine in cui è stata avviata la richiesta. Ciò non avviene con i reindirizzamenti. Se si tratta di un'origine opaca, la stringa "null" .
-
ip
stringa facoltativo
L'indirizzo IP del server a cui è stata effettivamente inviata la richiesta. Tieni presente che potrebbe essere un indirizzo IPv6 letterale.
-
method
stringa
Metodo HTTP standard.
-
parentDocumentId
stringa facoltativo
Chrome 106 e versioni successive .L'UUID del documento padre a cui appartiene questo frame. Questa opzione non è impostata se non è presente alcun padre.
-
parentFrameId
numero
ID del frame che aggrega il frame che ha inviato la richiesta. Imposta il valore su -1 se non esiste alcun frame principale.
-
redirectUrl
stringa
Il nuovo URL.
-
requestId
stringa
L'ID della richiesta. Gli ID richiesta sono univoci all'interno di una sessione del browser. Di conseguenza, potrebbero essere utilizzati per collegare eventi diversi della stessa richiesta.
-
responseHeaders
HttpHeaders facoltativo
Le intestazioni della risposta HTTP ricevute insieme a questo reindirizzamento.
-
statusCode
numero
Codice di stato HTTP standard restituito dal server.
-
statusLine
stringa
riga di stato HTTP della risposta o "HTTP/0.9 200 OK" stringa per le risposte HTTP/0.9 (ad es. risposte prive di riga di stato) o stringa vuota se non sono presenti intestazioni.
-
tabId
numero
L'ID della scheda in cui avviene la richiesta. Imposta su -1 se la richiesta non è correlata a una scheda.
-
timeStamp
numero
Il tempo in cui viene attivato questo segnale, in millisecondi dall'epoca.
-
tipo
Modalità di utilizzo della risorsa richiesta.
-
url
stringa
-
-
-
filtro
-
extraInfoSpec
OnBeforeRedirectOptions[] facoltativo
onBeforeRequest
chrome.webRequest.onBeforeRequest.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnBeforeRequestOptions[],
)
Attivato quando sta per verificarsi una richiesta.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(details: object) => BlockingResponse | undefined
-
dettagli
oggetto
-
documentId
stringa facoltativo
Chrome 106 e versioni successive .L'UUID del documento che ha effettuato la richiesta.
-
documentLifecycle
extensionTypes.DocumentLifecycle optional
Chrome 106 e versioni successive .Il ciclo di vita del documento.
-
frameId
numero
Il valore 0 indica che la richiesta avviene nel frame principale. un valore positivo indica l'ID di un frame secondario in cui viene eseguita la richiesta. Se il documento di un (sub-)frame viene caricato (
type
èmain_frame
osub_frame
),frameId
indica l'ID di questo frame, non l'ID del frame esterno. Gli ID frame sono univoci all'interno di una scheda. -
frameType
extensionTypes.FrameType optional
Chrome 106 e versioni successive .Il tipo di frame in cui è avvenuta la richiesta.
-
iniziatore
stringa facoltativo
Chrome 63 e versioni successive .L'origine in cui è stata avviata la richiesta. Ciò non avviene con i reindirizzamenti. Se si tratta di un'origine opaca, la stringa "null" .
-
method
stringa
Metodo HTTP standard.
-
parentDocumentId
stringa facoltativo
Chrome 106 e versioni successive .L'UUID del documento padre a cui appartiene questo frame. Questa opzione non è impostata se non è presente alcun padre.
-
parentFrameId
numero
ID del frame che aggrega il frame che ha inviato la richiesta. Imposta il valore su -1 se non esiste alcun frame principale.
-
requestBody
oggetto facoltativo
Contiene i dati del corpo della richiesta HTTP. Fornito solo se extraInfoSpec contiene "requestBody".
-
errore
stringa facoltativo
Errori durante il recupero dei dati del corpo della richiesta.
-
formData
oggetto facoltativo
Se il metodo di richiesta è POST e il corpo è una sequenza di coppie chiave-valore codificate in UTF8, codificata come multipart/form-data o application/x-www-form-urlEncoding, questo dizionario è presente e per ogni chiave contiene l'elenco di tutti i valori per quella chiave. Se i dati sono di un altro tipo multimediale o se sono in un formato non valido, il dizionario non è presente. Un valore di esempio di questo dizionario è {'key': ['value1', 'value2']}.
-
non elaborato
UploadData[] facoltativo
Se il metodo di richiesta è PUT o POST e il corpo non è già analizzato in formData, gli elementi del corpo della richiesta non analizzati saranno contenuti in questo array.
-
-
requestId
stringa
L'ID della richiesta. Gli ID richiesta sono univoci all'interno di una sessione del browser. Di conseguenza, potrebbero essere utilizzati per collegare eventi diversi della stessa richiesta.
-
tabId
numero
L'ID della scheda in cui avviene la richiesta. Imposta su -1 se la richiesta non è correlata a una scheda.
-
timeStamp
numero
Il tempo in cui viene attivato questo segnale, in millisecondi dall'epoca.
-
tipo
Modalità di utilizzo della risorsa richiesta.
-
url
stringa
-
-
returns
BlockingResponse | non definito
Se lo "blocca" è specificato nella sezione "extraInfoSpec" , il listener di eventi deve restituire un oggetto di questo tipo.
-
-
filtro
-
extraInfoSpec
OnBeforeRequestOptions[] facoltativo
onBeforeSendHeaders
chrome.webRequest.onBeforeSendHeaders.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnBeforeSendHeadersOptions[],
)
Attivato prima di inviare una richiesta HTTP, quando le intestazioni della richiesta sono disponibili. Questo può accadere dopo una connessione TCP al server, ma prima dell'invio di dati HTTP.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(details: object) => BlockingResponse | undefined
-
dettagli
oggetto
-
documentId
stringa
Chrome 106 e versioni successive .L'UUID del documento che ha effettuato la richiesta.
-
documentLifecycleChrome 106 e versioni successive .
Il ciclo di vita del documento.
-
frameId
numero
Il valore 0 indica che la richiesta avviene nel frame principale. un valore positivo indica l'ID di un frame secondario in cui viene eseguita la richiesta. Se il documento di un (sub-)frame viene caricato (
type
èmain_frame
osub_frame
),frameId
indica l'ID di questo frame, non l'ID del frame esterno. Gli ID frame sono univoci all'interno di una scheda. -
frameTypeChrome 106 e versioni successive .
Il tipo di frame in cui è avvenuta la richiesta.
-
iniziatore
stringa facoltativo
Chrome 63 e versioni successive .L'origine in cui è stata avviata la richiesta. Ciò non avviene con i reindirizzamenti. Se si tratta di un'origine opaca, la stringa "null" .
-
method
stringa
Metodo HTTP standard.
-
parentDocumentId
stringa facoltativo
Chrome 106 e versioni successive .L'UUID del documento padre a cui appartiene questo frame. Questa opzione non è impostata se non è presente alcun padre.
-
parentFrameId
numero
ID del frame che aggrega il frame che ha inviato la richiesta. Imposta il valore su -1 se non esiste alcun frame principale.
-
requestHeaders
HttpHeaders facoltativo
Le intestazioni della richiesta HTTP che verranno inviate con la richiesta.
-
requestId
stringa
L'ID della richiesta. Gli ID richiesta sono univoci all'interno di una sessione del browser. Di conseguenza, potrebbero essere utilizzati per collegare eventi diversi della stessa richiesta.
-
tabId
numero
L'ID della scheda in cui avviene la richiesta. Imposta su -1 se la richiesta non è correlata a una scheda.
-
timeStamp
numero
Il tempo in cui viene attivato questo segnale, in millisecondi dall'epoca.
-
tipo
Modalità di utilizzo della risorsa richiesta.
-
url
stringa
-
-
returns
BlockingResponse | non definito
Se lo "blocca" è specificato nella sezione "extraInfoSpec" , il listener di eventi deve restituire un oggetto di questo tipo.
-
-
filtro
-
extraInfoSpec
OnBeforeSendHeadersOptions[] facoltativo
onCompleted
chrome.webRequest.onCompleted.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnCompletedOptions[],
)
Attivato quando viene completata una richiesta.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(details: object) => void
-
dettagli
oggetto
-
documentId
stringa
Chrome 106 e versioni successive .L'UUID del documento che ha effettuato la richiesta.
-
documentLifecycleChrome 106 e versioni successive .
Il ciclo di vita del documento.
-
frameId
numero
Il valore 0 indica che la richiesta avviene nel frame principale. un valore positivo indica l'ID di un frame secondario in cui viene eseguita la richiesta. Se il documento di un (sub-)frame viene caricato (
type
èmain_frame
osub_frame
),frameId
indica l'ID di questo frame, non l'ID del frame esterno. Gli ID frame sono univoci all'interno di una scheda. -
frameTypeChrome 106 e versioni successive .
Il tipo di frame in cui è avvenuta la richiesta.
-
fromCache
booleano
Indica se questa risposta è stata recuperata dalla cache su disco.
-
iniziatore
stringa facoltativo
Chrome 63 e versioni successive .L'origine in cui è stata avviata la richiesta. Ciò non avviene con i reindirizzamenti. Se si tratta di un'origine opaca, la stringa "null" .
-
ip
stringa facoltativo
L'indirizzo IP del server a cui è stata effettivamente inviata la richiesta. Tieni presente che potrebbe essere un indirizzo IPv6 letterale.
-
method
stringa
Metodo HTTP standard.
-
parentDocumentId
stringa facoltativo
Chrome 106 e versioni successive .L'UUID del documento padre a cui appartiene questo frame. Questa opzione non è impostata se non è presente alcun padre.
-
parentFrameId
numero
ID del frame che aggrega il frame che ha inviato la richiesta. Imposta il valore su -1 se non esiste alcun frame principale.
-
requestId
stringa
L'ID della richiesta. Gli ID richiesta sono univoci all'interno di una sessione del browser. Di conseguenza, potrebbero essere utilizzati per collegare eventi diversi della stessa richiesta.
-
responseHeaders
HttpHeaders facoltativo
Le intestazioni della risposta HTTP ricevute insieme alla risposta.
-
statusCode
numero
Codice di stato HTTP standard restituito dal server.
-
statusLine
stringa
riga di stato HTTP della risposta o "HTTP/0.9 200 OK" stringa per le risposte HTTP/0.9 (ad es. risposte prive di riga di stato) o stringa vuota se non sono presenti intestazioni.
-
tabId
numero
L'ID della scheda in cui avviene la richiesta. Imposta su -1 se la richiesta non è correlata a una scheda.
-
timeStamp
numero
Il tempo in cui viene attivato questo segnale, in millisecondi dall'epoca.
-
tipo
Modalità di utilizzo della risorsa richiesta.
-
url
stringa
-
-
-
filtro
-
extraInfoSpec
OnCompletedOptions[] facoltativo
onErrorOccurred
chrome.webRequest.onErrorOccurred.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnErrorOccurredOptions[],
)
Attivato quando si verifica un errore.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(details: object) => void
-
dettagli
oggetto
-
documentId
stringa
Chrome 106 e versioni successive .L'UUID del documento che ha effettuato la richiesta. Questo valore non è presente se la richiesta riguarda la navigazione di un frame.
-
documentLifecycleChrome 106 e versioni successive .
Il ciclo di vita del documento.
-
errore
stringa
La descrizione dell'errore. Non è garantito che questa stringa rimanga compatibile con le versioni precedenti tra le release. È vietato analizzarli e intervenire sulla base dei contenuti.
-
frameId
numero
Il valore 0 indica che la richiesta avviene nel frame principale. un valore positivo indica l'ID di un frame secondario in cui viene eseguita la richiesta. Se il documento di un (sub-)frame viene caricato (
type
èmain_frame
osub_frame
),frameId
indica l'ID di questo frame, non l'ID del frame esterno. Gli ID frame sono univoci all'interno di una scheda. -
frameTypeChrome 106 e versioni successive .
Il tipo di frame in cui è avvenuta la richiesta.
-
fromCache
booleano
Indica se questa risposta è stata recuperata dalla cache su disco.
-
iniziatore
stringa facoltativo
Chrome 63 e versioni successive .L'origine in cui è stata avviata la richiesta. Ciò non avviene con i reindirizzamenti. Se si tratta di un'origine opaca, la stringa "null" .
-
ip
stringa facoltativo
L'indirizzo IP del server a cui è stata effettivamente inviata la richiesta. Tieni presente che potrebbe essere un indirizzo IPv6 letterale.
-
method
stringa
Metodo HTTP standard.
-
parentDocumentId
stringa facoltativo
Chrome 106 e versioni successive .L'UUID del documento padre a cui appartiene questo frame. Questa opzione non è impostata se non è presente alcun padre.
-
parentFrameId
numero
ID del frame che aggrega il frame che ha inviato la richiesta. Imposta il valore su -1 se non esiste alcun frame principale.
-
requestId
stringa
L'ID della richiesta. Gli ID richiesta sono univoci all'interno di una sessione del browser. Di conseguenza, potrebbero essere utilizzati per collegare eventi diversi della stessa richiesta.
-
tabId
numero
L'ID della scheda in cui avviene la richiesta. Imposta su -1 se la richiesta non è correlata a una scheda.
-
timeStamp
numero
Il tempo in cui viene attivato questo segnale, in millisecondi dall'epoca.
-
tipo
Modalità di utilizzo della risorsa richiesta.
-
url
stringa
-
-
-
filtro
-
extraInfoSpec
OnErrorOccurredOptions[] facoltativo
onHeadersReceived
chrome.webRequest.onHeadersReceived.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnHeadersReceivedOptions[],
)
Attivato quando vengono ricevute le intestazioni della risposta HTTP di una richiesta.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(details: object) => BlockingResponse | undefined
-
dettagli
oggetto
-
documentId
stringa
Chrome 106 e versioni successive .L'UUID del documento che ha effettuato la richiesta.
-
documentLifecycleChrome 106 e versioni successive .
Il ciclo di vita del documento.
-
frameId
numero
Il valore 0 indica che la richiesta avviene nel frame principale. un valore positivo indica l'ID di un frame secondario in cui viene eseguita la richiesta. Se il documento di un (sub-)frame viene caricato (
type
èmain_frame
osub_frame
),frameId
indica l'ID di questo frame, non l'ID del frame esterno. Gli ID frame sono univoci all'interno di una scheda. -
frameTypeChrome 106 e versioni successive .
Il tipo di frame in cui è avvenuta la richiesta.
-
iniziatore
stringa facoltativo
Chrome 63 e versioni successive .L'origine in cui è stata avviata la richiesta. Ciò non avviene con i reindirizzamenti. Se si tratta di un'origine opaca, la stringa "null" .
-
method
stringa
Metodo HTTP standard.
-
parentDocumentId
stringa facoltativo
Chrome 106 e versioni successive .L'UUID del documento padre a cui appartiene questo frame. Questa opzione non è impostata se non è presente alcun padre.
-
parentFrameId
numero
ID del frame che aggrega il frame che ha inviato la richiesta. Imposta il valore su -1 se non esiste alcun frame principale.
-
requestId
stringa
L'ID della richiesta. Gli ID richiesta sono univoci all'interno di una sessione del browser. Di conseguenza, potrebbero essere utilizzati per collegare eventi diversi della stessa richiesta.
-
responseHeaders
HttpHeaders facoltativo
Le intestazioni della risposta HTTP ricevute con questa risposta.
-
statusCode
numero
Chrome 43 e versioni successive .Codice di stato HTTP standard restituito dal server.
-
statusLine
stringa
riga di stato HTTP della risposta o "HTTP/0.9 200 OK" stringa per le risposte HTTP/0.9 (ad esempio, risposte prive di una riga di stato).
-
tabId
numero
L'ID della scheda in cui avviene la richiesta. Imposta su -1 se la richiesta non è correlata a una scheda.
-
timeStamp
numero
Il tempo in cui viene attivato questo segnale, in millisecondi dall'epoca.
-
tipo
Modalità di utilizzo della risorsa richiesta.
-
url
stringa
-
-
returns
BlockingResponse | non definito
Se lo "blocca" è specificato nella sezione "extraInfoSpec" , il listener di eventi deve restituire un oggetto di questo tipo.
-
-
filtro
-
extraInfoSpec
OnHeadersReceivedOptions[] facoltativo
onResponseStarted
chrome.webRequest.onResponseStarted.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnResponseStartedOptions[],
)
Attivato alla ricezione del primo byte del corpo della risposta. Per le richieste HTTP, ciò significa che la riga di stato e le intestazioni della risposta sono disponibili.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(details: object) => void
-
dettagli
oggetto
-
documentId
stringa
Chrome 106 e versioni successive .L'UUID del documento che ha effettuato la richiesta.
-
documentLifecycleChrome 106 e versioni successive .
Il ciclo di vita del documento.
-
frameId
numero
Il valore 0 indica che la richiesta avviene nel frame principale. un valore positivo indica l'ID di un frame secondario in cui viene eseguita la richiesta. Se il documento di un (sub-)frame viene caricato (
type
èmain_frame
osub_frame
),frameId
indica l'ID di questo frame, non l'ID del frame esterno. Gli ID frame sono univoci all'interno di una scheda. -
frameTypeChrome 106 e versioni successive .
Il tipo di frame in cui è avvenuta la richiesta.
-
fromCache
booleano
Indica se questa risposta è stata recuperata dalla cache su disco.
-
iniziatore
stringa facoltativo
Chrome 63 e versioni successive .L'origine in cui è stata avviata la richiesta. Ciò non avviene con i reindirizzamenti. Se si tratta di un'origine opaca, la stringa "null" .
-
ip
stringa facoltativo
L'indirizzo IP del server a cui è stata effettivamente inviata la richiesta. Tieni presente che potrebbe essere un indirizzo IPv6 letterale.
-
method
stringa
Metodo HTTP standard.
-
parentDocumentId
stringa facoltativo
Chrome 106 e versioni successive .L'UUID del documento padre a cui appartiene questo frame. Questa opzione non è impostata se non è presente alcun padre.
-
parentFrameId
numero
ID del frame che aggrega il frame che ha inviato la richiesta. Imposta il valore su -1 se non esiste alcun frame principale.
-
requestId
stringa
L'ID della richiesta. Gli ID richiesta sono univoci all'interno di una sessione del browser. Di conseguenza, potrebbero essere utilizzati per collegare eventi diversi della stessa richiesta.
-
responseHeaders
HttpHeaders facoltativo
Le intestazioni della risposta HTTP ricevute insieme alla risposta.
-
statusCode
numero
Codice di stato HTTP standard restituito dal server.
-
statusLine
stringa
riga di stato HTTP della risposta o "HTTP/0.9 200 OK" stringa per le risposte HTTP/0.9 (ad es. risposte prive di riga di stato) o stringa vuota se non sono presenti intestazioni.
-
tabId
numero
L'ID della scheda in cui avviene la richiesta. Imposta su -1 se la richiesta non è correlata a una scheda.
-
timeStamp
numero
Il tempo in cui viene attivato questo segnale, in millisecondi dall'epoca.
-
tipo
Modalità di utilizzo della risorsa richiesta.
-
url
stringa
-
-
-
filtro
-
extraInfoSpec
OnResponseStartedOptions[] facoltativo
onSendHeaders
chrome.webRequest.onSendHeaders.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnSendHeadersOptions[],
)
Viene attivato poco prima che una richiesta venga inviata al server (le modifiche dei precedenti callback onBeforeSendHeaders sono visibili quando viene attivato onSendHeaders).
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(details: object) => void
-
dettagli
oggetto
-
documentId
stringa
Chrome 106 e versioni successive .L'UUID del documento che ha effettuato la richiesta.
-
documentLifecycleChrome 106 e versioni successive .
Il ciclo di vita del documento.
-
frameId
numero
Il valore 0 indica che la richiesta avviene nel frame principale. un valore positivo indica l'ID di un frame secondario in cui viene eseguita la richiesta. Se il documento di un (sub-)frame viene caricato (
type
èmain_frame
osub_frame
),frameId
indica l'ID di questo frame, non l'ID del frame esterno. Gli ID frame sono univoci all'interno di una scheda. -
frameTypeChrome 106 e versioni successive .
Il tipo di frame in cui è avvenuta la richiesta.
-
iniziatore
stringa facoltativo
Chrome 63 e versioni successive .L'origine in cui è stata avviata la richiesta. Ciò non avviene con i reindirizzamenti. Se si tratta di un'origine opaca, la stringa "null" .
-
method
stringa
Metodo HTTP standard.
-
parentDocumentId
stringa facoltativo
Chrome 106 e versioni successive .L'UUID del documento padre a cui appartiene questo frame. Questa opzione non è impostata se non è presente alcun padre.
-
parentFrameId
numero
ID del frame che aggrega il frame che ha inviato la richiesta. Imposta il valore su -1 se non esiste alcun frame principale.
-
requestHeaders
HttpHeaders facoltativo
Le intestazioni della richiesta HTTP inviate con la richiesta.
-
requestId
stringa
L'ID della richiesta. Gli ID richiesta sono univoci all'interno di una sessione del browser. Di conseguenza, potrebbero essere utilizzati per collegare eventi diversi della stessa richiesta.
-
tabId
numero
L'ID della scheda in cui avviene la richiesta. Imposta su -1 se la richiesta non è correlata a una scheda.
-
timeStamp
numero
Il tempo in cui viene attivato questo segnale, in millisecondi dall'epoca.
-
tipo
Modalità di utilizzo della risorsa richiesta.
-
url
stringa
-
-
-
filtro
-
extraInfoSpec
OnSendHeadersOptions[] facoltativo