Descrição
Use a API chrome.webRequest
para observar e analisar o tráfego e para interceptar, bloquear ou modificar solicitações em trânsito.
Permissões
webRequest
É necessário declarar a permissão "webRequest"
no manifesto de extensões para usar a API de solicitação da Web, com as permissões de host necessárias. Para interceptar uma solicitação de sub-recurso, a extensão precisa ter acesso ao URL solicitado e ao iniciador dele. Exemplo:
{
"name": "My extension",
...
"permissions": [
"webRequest"
],
"host_permissions": [
"*://*.google.com/*"
],
...
}
webRequestBlocking
Necessário para registrar manipuladores de eventos de bloqueio. A partir do Manifest V3, esse recurso só está disponível para extensões instaladas na política.
webRequestAuthProvider
Necessário para usar o método onAuthRequired
. Consulte
Processamento da autenticação.
Conceitos e uso
Ciclo de vida das solicitações
A API de solicitação da Web define um conjunto de eventos que seguem o ciclo de vida de uma solicitação da Web. Use esses eventos para observar e analisar o tráfego. Certos eventos síncronos permitem interceptar, bloquear ou modificar uma solicitação.
O ciclo de vida do evento para solicitações bem-sucedidas é ilustrado aqui, seguido pelas definições do evento:
onBeforeRequest
(opcionalmente síncrono)- Dispara quando uma solicitação está prestes a ocorrer. Esse evento é enviado antes que qualquer conexão TCP seja feita e pode ser usado para cancelar ou redirecionar solicitações.
onBeforeSendHeaders
(opcionalmente síncrono)- Dispara quando uma solicitação está prestes a ocorrer e os cabeçalhos iniciais foram preparados. O evento serve
para permitir que as extensões adicionem, modifiquem e excluam cabeçalhos de solicitação (*). O
evento
onBeforeSendHeaders
é transmitido para todos os assinantes. Assim, diferentes assinantes podem tentar modificar a solicitação. Consulte a seção Detalhes da implementação para saber como isso é feito. Esse evento pode ser usado para cancelar a solicitação. onSendHeaders
- Após todas as extensões, os disparos tiveram a chance de modificar os cabeçalhos das solicitações e apresentaram a versão final (*). O evento é acionado antes que os cabeçalhos sejam enviados para a rede. Esse evento é informativo e processado de forma assíncrona. Não é possível modificar nem cancelar a solicitação.
onHeadersReceived
(opcionalmente síncrono)- Aciona sempre que um cabeçalho de resposta HTTP(S) é recebido. Devido a redirecionamentos e solicitações de autenticação, isso pode acontecer várias vezes por solicitação. A finalidade desse evento é permitir que as extensões adicionem, modifiquem e excluam cabeçalhos de resposta, como cabeçalhos de entrada de tipo de conteúdo. As diretivas de armazenamento em cache são processadas antes do acionamento desse evento. Portanto, modificar cabeçalhos como Cache-Control não influencia o cache do navegador. Também é possível cancelar ou redirecionar o pedido.
onAuthRequired
(opcionalmente síncrono)- Dispara quando uma solicitação exige a autenticação do usuário. Esse evento pode ser processado de forma síncrona para fornecer credenciais de autenticação. As extensões podem fornecer credenciais inválidas. Tenha cuidado para não entrar em um loop infinito fornecendo credenciais inválidas repetidamente. Isso também pode ser usado para cancelar a solicitação.
onBeforeRedirect
- Aciona quando um redirecionamento está prestes a ser executado. Um redirecionamento pode ser acionado por um código de resposta HTTP ou por uma extensão. Este evento é informativo e processado de forma assíncrona. Não é possível modificar ou cancelar a solicitação.
onResponseStarted
- Aciona quando o primeiro byte do corpo da resposta é recebido. Para solicitações HTTP, isso significa que a linha de status e os cabeçalhos de resposta estão disponíveis. Esse evento é informativo e processado de forma assíncrona. Não é possível modificar nem cancelar a solicitação.
onCompleted
- Dispara quando uma solicitação é processada.
onErrorOccurred
- Dispara quando uma solicitação não foi processada.
A API de solicitação da Web garante que, para cada solicitação, onCompleted
ou onErrorOccurred
seja acionado como o evento final com uma exceção: se uma solicitação for redirecionada para um URL data://
, onBeforeRedirect
será o último evento informado.
* A API de solicitação da Web apresenta uma abstração da pilha de rede para a extensão. Internamente, uma solicitação de URL pode ser dividida em várias solicitações HTTP (por exemplo, para buscar intervalos de bytes individuais de um arquivo grande) ou pode ser processada pela pilha de rede sem se comunicar com a rede. Por esse motivo, a API não fornece os cabeçalhos HTTP finais que são enviados à rede. Por exemplo, todos os cabeçalhos relacionados ao armazenamento em cache são invisíveis para a extensão.
No momento, os cabeçalhos a seguir não são fornecidos para o evento onBeforeSendHeaders
. Não há garantia
de que essa lista seja completa ou estável.
- Autorização
- Cache-Control
- Conexão
- Content-Length
- Host
- If-Modified-Since
- If-None-Match
- Intervalo if
- Dados parciais
- Pragma
- Autorização do proxy
- Conexão de proxy
- Codificação de transferência
A partir do Chrome 79, as modificações no cabeçalho da solicitação afetam as verificações do Compartilhamento de recursos entre origens (CORS). Se os cabeçalhos modificados para solicitações de origem cruzada não atenderem aos critérios, isso resultará no envio de uma simulação do CORS para perguntar ao servidor se esses cabeçalhos podem ser aceitos. Se você realmente precisar
modificar cabeçalhos para violar o protocolo CORS, especifique 'extraHeaders'
em
opt_extraInfoSpec
. Por outro lado, as modificações do cabeçalho de resposta não funcionam para enganar as verificações do CORS. Se você precisar enganar o protocolo CORS, também precisará especificar 'extraHeaders'
para as
modificações da resposta.
A partir do Chrome 79, a API webRequest não intercepta solicitações e respostas de simulação do CORS por padrão. Uma simulação do CORS para um URL de solicitação ficará visível para uma extensão se houver um
listener com 'extraHeaders'
especificado em opt_extraInfoSpec
para o URL de solicitação.
A onBeforeRequest
também pode usar 'extraHeaders'
a partir do Chrome 79.
A partir do Chrome 79, o cabeçalho de solicitação abaixo não é fornecido e não pode ser modificado ou
removido sem especificar 'extraHeaders'
em opt_extraInfoSpec
:
- Origem
A partir do Chrome 72, se você precisar modificar as respostas para que o Bloqueio de leitura entre origens
(CORB, na sigla em inglês) possa bloqueá-las, especifique 'extraHeaders'
em opt_extraInfoSpec
.
A partir do Chrome 72, os seguintes cabeçalhos de solicitação não são fornecidos e não podem ser modificados
ou removidos sem especificar 'extraHeaders'
em opt_extraInfoSpec
:
- Aceitar idioma
- Accept-Encoding
- Referenciador
- Cookie
A partir do Chrome 72, o cabeçalho de resposta Set-Cookie
não é fornecido e não pode ser modificado
ou removido sem especificar 'extraHeaders'
em opt_extraInfoSpec
.
A partir do Chrome 89, o cabeçalho de resposta X-Frame-Options
não pode ser modificado
ou removido sem especificar 'extraHeaders'
em opt_extraInfoSpec
.
A API webRequest expõe apenas solicitações que a extensão tem permissão para ver, dadas as permissões
de host. Além disso, apenas os seguintes esquemas podem ser acessados: http://
, https://
,
ftp://
, file://
, ws://
(desde o Chrome 58), wss://
(a partir do Chrome 58), urn:
(a partir do Chrome 91) ou
chrome-extension://
. Além disso, mesmo algumas solicitações com URLs que usam um dos esquemas acima ficam ocultas. Isso inclui chrome-extension://other_extension_id
, em que other_extension_id
não é
o ID da extensão para processar a solicitação, https://www.google.com/chrome
e outras solicitações
sensíveis essenciais para a funcionalidade do navegador. Além disso, os XMLHttpRequests síncronos da sua extensão estão
ocultos para bloquear manipuladores de eventos e evitar impasses. Para alguns dos esquemas compatíveis, o conjunto de eventos disponíveis pode ser limitado devido à natureza do protocolo correspondente. Por exemplo, para o esquema de arquivo: apenas onBeforeRequest
, onResponseStarted
, onCompleted
e onErrorOccurred
podem ser enviados.
A partir do Chrome 58, a API webRequest oferece suporte à interceptação da solicitação de handshake do WebSocket. Como o handshake é feito por meio de uma solicitação de upgrade HTTP, o fluxo se encaixa no modelo webRequest orientado por HTTP. A API não intercepta:
- Mensagens individuais enviadas por uma conexão WebSocket estabelecida.
- Encerrando a conexão do WebSocket.
Redirecionamentos não são compatíveis para solicitações de WebSocket.
A partir do Chrome 72, uma extensão só poderá interceptar uma solicitação se tiver permissões de host para o URL solicitado e o iniciador da solicitação.
A partir do Chrome 96, a API webRequest permite interceptar o WebTransport pela solicitação de handshake de HTTP/3. Como o handshake é feito por meio de uma solicitação HTTP CONNECT, o fluxo se encaixa no modelo webRequest orientado por HTTP. Observações:
- Depois que a sessão é estabelecida, as extensões não podem observar ou intervir na sessão pela API webRequest.
- A modificação de cabeçalhos de solicitação HTTP em
onBeforeSendHeaders
é ignorada. - Redirecionamentos e autenticações não são compatíveis no WebTransport por HTTP/3.
IDs de solicitação
Cada solicitação é identificada por um ID. Esse ID é exclusivo em uma sessão do navegador e no contexto de uma extensão. Ele permanece constante durante o ciclo de vida de uma solicitação e pode ser usado para corresponder eventos à mesma solicitação. Várias solicitações HTTP são associadas a uma solicitação da Web no caso de redirecionamento ou autenticação HTTP.
Como registrar listeners de eventos
Para registrar um listener de eventos para uma solicitação da Web, use uma variação da função addListener()
comum. Além de especificar uma função de callback, é necessário especificar um argumento de filtro e um argumento de informações extras opcional.
Os três argumentos para o addListener()
da API de solicitação da Web têm as seguintes definições:
var callback = function(details) {...};
var filter = {...};
var opt_extraInfoSpec = [...];
Veja um exemplo de como detectar o evento onBeforeRequest
:
chrome.webRequest.onBeforeRequest.addListener(
callback, filter, opt_extraInfoSpec);
Cada chamada addListener()
usa uma função de callback obrigatória como primeiro parâmetro. Essa função de callback recebe um dicionário que contém informações sobre a solicitação de URL atual. As informações neste dicionário dependem do tipo de evento específico e do conteúdo de opt_extraInfoSpec
.
Se a matriz opcional opt_extraInfoSpec
contiver a string 'blocking'
(permitida apenas para eventos específicos), a função de callback será processada de maneira síncrona. Isso significa que a solicitação fica
bloqueada até que a função de callback seja retornada. Nesse caso, o callback pode retornar um
webRequest.BlockingResponse
que determina o maior ciclo de vida da solicitação. Dependendo
do contexto, essa resposta permite cancelar ou redirecionar uma solicitação (onBeforeRequest
),
cancelar uma solicitação ou modificar os cabeçalhos (onBeforeSendHeaders
, onHeadersReceived
) e
cancelar uma solicitação ou fornecer credenciais de autenticação (onAuthRequired
).
Se a matriz opt_extraInfoSpec
opcional contiver a string 'asyncBlocking'
(permitida apenas para onAuthRequired
), a extensão poderá gerar o webRequest.BlockingResponse
de forma assíncrona.
O filter
de webRequest.RequestFilter
permite limitar as solicitações para que os eventos são
acionados em várias dimensões:
- URLs
- Padrões de URL, como
*://www.google.com/foo*bar
. - Tipos
- Tipos de solicitação como
main_frame
(um documento carregado para um frame de nível superior),sub_frame
(um documento carregado para um frame incorporado) eimage
(uma imagem em um site). ConsultewebRequest.RequestFilter
. - Guia ID
- O identificador de uma guia.
- ID da janela
- O identificador de uma janela.
Dependendo do tipo de evento, é possível especificar strings em opt_extraInfoSpec
para pedir informações adicionais sobre a solicitação. Usado para fornecer informações detalhadas sobre os dados da solicitação somente se explicitamente solicitado.
Como processar a autenticação
Para processar solicitações de autenticação HTTP, adicione a permissão "webRequestAuthProvider"
ao seu arquivo de manifesto:
{
"permissions": [
"webRequest",
"webRequestAuthProvider"
]
}
Essa permissão não é necessária para uma extensão instalada na política com
a permissão "webRequestBlocking"
.
Para fornecer credenciais de maneira síncrona:
chrome.webRequest.onAuthRequired.addListener((details) => {
return {
authCredentials: {
username: 'guest',
password: 'guest'
}
};
},
{ urls: ['https://httpbin.org/basic-auth/guest/guest'] },
['blocking']
);
Para fornecer credenciais de maneira assíncrona:
chrome.webRequest.onAuthRequired.addListener((details, callback) => {
callback({
authCredentials: {
username: 'guest',
password: 'guest'
}
});
},
{ urls: ['https://httpbin.org/basic-auth/guest/guest'] },
['asyncBlocking']
);
Detalhes da implementação
É importante entender vários detalhes de implementação ao desenvolver uma extensão que usa a API de solicitação da Web:
web_accessible_resources
Quando uma extensão usa APIs webRequest para redirecionar uma solicitação de recurso público para um recurso inacessível na Web, ela é bloqueada e resulta em um erro. Isso acontece mesmo que o recurso não acessível na Web pertença à extensão de redirecionamento. Para declarar recursos a serem usados com APIs declarativaWebRequest, a matriz "web_accessible_resources"
precisa ser declarada e preenchida no manifesto, conforme documentado aqui.
Resolução de conflitos
Na implementação atual da API de solicitação da Web, uma solicitação é considerada cancelada se pelo menos uma extensão instruir o cancelamento. Se uma extensão cancelar uma solicitação, todas as extensões serão notificadas por um evento onErrorOccurred
. Apenas uma extensão pode redirecionar uma
solicitação ou modificar um cabeçalho por vez. Se mais de uma extensão tentar modificar a solicitação, a
extensão instalada mais recentemente vencerá, e todas as outras serão ignoradas. Uma extensão não será notificada se
a instrução para modificar ou redirecionar tiver sido ignorada.
Armazenamento em cache
O Chrome utiliza dois caches: um cache no disco e um cache na memória muito rápido. O ciclo de vida de um
cache na memória é anexado ao ciclo de vida de um processo de renderização, que corresponde aproximadamente a uma guia.
As solicitações respondidas do cache na memória não aparecem para a API de solicitação da Web. Se um gerenciador de solicitações mudar seu comportamento (por exemplo, o comportamento de acordo com o qual as solicitações são bloqueadas), uma simples atualização de página pode não respeitar esse comportamento alterado. Para garantir que a mudança
de comportamento seja bem-sucedida, chame handlerBehaviorChanged()
para limpar o cache na memória. Mas não faça isso com frequência. A limpeza do cache é uma operação muito cara. Não é necessário chamar
handlerBehaviorChanged()
depois de registrar ou cancelar o registro de um listener de eventos.
Marcações de tempo
A propriedade timestamp
de eventos de solicitação da Web só tem consistência interna.
A comparação de um evento com outro informa o deslocamento correto entre eles, mas a comparação
com o horário atual dentro da extensão (via (new Date()).getTime()
, por exemplo) pode
gerar resultados inesperados.
Tratamento de erros
Se você tentar registrar um evento com argumentos inválidos, um erro de JavaScript será gerado, e o manipulador de eventos não será registrado. Se um erro for gerado enquanto um evento é processado ou se um manipulador de eventos retornar uma resposta de bloqueio inválida, uma mensagem de erro será registrada no console da sua extensão e o gerenciador será ignorado para essa solicitação.
Exemplos
O exemplo a seguir ilustra como bloquear todas as solicitações para www.evil.com
:
chrome.webRequest.onBeforeRequest.addListener(
function(details) {
return {cancel: details.url.indexOf("://www.evil.com/") != -1};
},
{urls: ["<all_urls>"]},
["blocking"]
);
Como essa função usa um manipulador de eventos de bloqueio, ela requer as permissões "webRequest"
e
"webRequestBlocking"
no arquivo de manifesto.
O exemplo a seguir atinge o mesmo objetivo de maneira mais eficiente, porque as solicitações não
segmentadas para www.evil.com
não precisam ser transmitidas para a extensão:
chrome.webRequest.onBeforeRequest.addListener(
function(details) { return {cancel: true}; },
{urls: ["*://www.evil.com/*"]},
["blocking"]
);
O exemplo a seguir mostra como excluir o cabeçalho do user agent de todas as solicitações:
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"]
);
Para testar a API chrome.webRequest
, instale o exemplo webRequest do repositório chrome-extension-samples.
Tipos
BlockingResponse
Retorna o valor para manipuladores de eventos com o extraInfoSpec de "bloqueio" aplicado. Permite que o manipulador de eventos modifique solicitações de rede.
Propriedades
-
authCredentials
objeto opcional
Usado apenas como resposta ao evento onAuthRequired. Se esse campo for definido, a solicitação será feita usando as credenciais fornecidas.
-
senha
string
-
nome de usuário
string
-
-
cancelar
booleano opcional
Se verdadeiro, a solicitação é cancelada. Isso evita que a solicitação seja enviada. É possível usar isso como resposta para os eventos onBeforeRequest, onBeforeSendHeaders, onHeadersReceived e onAuthRequired.
-
redirectUrl
string opcional
Usado apenas como resposta aos eventos onBeforeRequest e onHeadersReceived. Se esse valor for definido, a solicitação original não poderá ser enviada/concluída e será redirecionada para o URL fornecido. Redirecionamentos para esquemas não HTTP, como
data:
, são permitidos. Os redirecionamentos iniciados por uma ação de redirecionamento usam o método de solicitação original, com uma exceção: se o redirecionamento for iniciado na etapa onHeadersReceived, o redirecionamento será emitido usando o método GET. Os redirecionamentos de URLs com esquemasws://
ewss://
são ignorados. -
requestHeaders
HttpHeaders opcional
Usado apenas como resposta ao evento onBeforeSendHeaders. Se definido, a solicitação é feita com esses cabeçalhos de solicitação.
-
responseHeaders
HttpHeaders opcional
Usado apenas como resposta para o evento onHeadersReceived. Se definido, presume-se que o servidor respondeu com esses cabeçalhos de resposta. Retorne
responseHeaders
somente se você realmente quiser modificar os cabeçalhos para limitar o número de conflitos (somente uma extensão pode modificarresponseHeaders
para cada solicitação).
FormDataItem
Contém dados transmitidos dentro de dados de formulário. Para formato codificado por URL, ele é armazenado como string se os dados forem strings utf-8; caso contrário, como ArrayBuffer. Para dados de formulário, é ArrayBuffer. Se "form-data" representa o upload do arquivo, ele é uma string com o nome do arquivo, se o nome do arquivo for fornecido.
Tipo enumerado
ArrayBuffer
string
HttpHeaders
Uma matriz de cabeçalhos HTTP. Cada cabeçalho é representado como um dicionário que contém as chaves name
e value
ou binaryValue
.
Tipo
objeto[]
Propriedades
-
binaryValue
number[] opcional
Valor do cabeçalho HTTP se não puder ser representado por UTF-8, armazenado como valores de byte individuais (0..255).
-
nome
string
Nome do cabeçalho HTTP.
-
valor
string opcional
Valor do cabeçalho HTTP, se puder ser representado por UTF-8.
IgnoredActionType
Tipo enumerado
"redirect"
"request_headers"
"response_headers"
"auth_credentials"
OnAuthRequiredOptions
Tipo enumerado
"responseHeaders"
Especifica que os cabeçalhos de resposta devem ser incluídos no evento.
"bloquear"
Especifica que a solicitação está bloqueada até que a função de callback seja retornada.
"asyncBlock"
Especifica que a função de callback é tratada de forma assíncrona.
"extraHeaders"
Especifica que os cabeçalhos podem violar o Compartilhamento de recursos entre origens (CORS).
OnBeforeRedirectOptions
Tipo enumerado
"responseHeaders"
Especifica que os cabeçalhos de resposta devem ser incluídos no evento.
"extraHeaders"
Especifica que os cabeçalhos podem violar o Compartilhamento de recursos entre origens (CORS).
OnBeforeRequestOptions
Tipo enumerado
"bloquear"
Especifica que a solicitação está bloqueada até que a função de callback seja retornada.
"requestBody"
Especifica que o corpo da solicitação deve ser incluído no evento.
"extraHeaders"
Especifica que os cabeçalhos podem violar o Compartilhamento de recursos entre origens (CORS).
OnBeforeSendHeadersOptions
Tipo enumerado
"requestHeaders"
Especifica que o cabeçalho da solicitação deve ser incluído no evento.
"bloquear"
Especifica que a solicitação está bloqueada até que a função de callback seja retornada.
"extraHeaders"
Especifica que os cabeçalhos podem violar o Compartilhamento de recursos entre origens (CORS).
OnCompletedOptions
Tipo enumerado
"responseHeaders"
Especifica que os cabeçalhos de resposta devem ser incluídos no evento.
"extraHeaders"
Especifica que os cabeçalhos podem violar o Compartilhamento de recursos entre origens (CORS).
OnErrorOccurredOptions
Valor
"extraHeaders"
OnHeadersReceivedOptions
Tipo enumerado
"bloquear"
Especifica que a solicitação está bloqueada até que a função de callback seja retornada.
"responseHeaders"
Especifica que os cabeçalhos de resposta devem ser incluídos no evento.
"extraHeaders"
Especifica que os cabeçalhos podem violar o Compartilhamento de recursos entre origens (CORS).
OnResponseStartedOptions
Tipo enumerado
"responseHeaders"
Especifica que os cabeçalhos de resposta devem ser incluídos no evento.
"extraHeaders"
Especifica que os cabeçalhos podem violar o Compartilhamento de recursos entre origens (CORS).
OnSendHeadersOptions
Tipo enumerado
"requestHeaders"
Especifica que o cabeçalho da solicitação deve ser incluído no evento.
"extraHeaders"
Especifica que os cabeçalhos podem violar o Compartilhamento de recursos entre origens (CORS).
RequestFilter
Um objeto que descreve filtros a serem aplicados a eventos webRequest.
Propriedades
-
tabId
número opcional
-
Tipos
ResourceType[] opcional
Uma lista de tipos de solicitação. As solicitações que não corresponderem a nenhum dos tipos serão filtradas.
-
urls
string[]
Uma lista de URLs ou padrões de URL. As solicitações que não corresponderem a nenhum URL vão ser filtradas.
-
windowId
número opcional
ResourceType
Tipo enumerado
"main_frame"
Especifica o recurso como o frame principal.
"sub_frame"
Especifica o recurso como um subframe.
"stylesheet"
Especifica o recurso como uma folha de estilo.
"script"
Especifica o recurso como um script.
"image"
Especifica o recurso como uma imagem.
"font"
Especifica o recurso como uma fonte.
"object"
Especifica o recurso como um objeto.
"xmlhttprequest"
Especifica o recurso como um XMLHttpRequest.
"ping"
Especifica o recurso como um ping.
"csp_report"
Especifica o recurso como um relatório da Política de Segurança de Conteúdo (CSP).
"media"
Especifica o recurso como um objeto de mídia.
"websocket"
Especifica o recurso como um WebSocket.
"webbundle"
Especifica o recurso como um WebBundle.
"other"
especifica o recurso como um tipo não incluído nos tipos listados.
UploadData
Contém dados enviados em uma solicitação de URL.
Propriedades
-
bytes
Qualquer opção opcional
Um ArrayBuffer com uma cópia dos dados.
-
arquivo
string opcional
Uma string com o caminho e o nome do arquivo.
Propriedades
MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES
O número máximo de vezes que handlerBehaviorChanged
pode ser chamado por intervalo sustentado de 10 minutos. handlerBehaviorChanged
é uma chamada de função cara que não pode ser chamada com frequência.
Valor
20
Métodos
handlerBehaviorChanged()
chrome.webRequest.handlerBehaviorChanged(
callback?: function,
)
Precisa ser chamado quando o comportamento dos gerenciadores webRequest mudar para evitar o tratamento incorreto devido ao armazenamento em cache. Essa chamada de função é cara. Não ligue com frequência.
Parâmetros
-
callback
função optional
O parâmetro
callback
tem esta aparência:() => void
Retorna
-
Promise<void>
Chrome 116 ou mais recentePromessas são compatíveis com o Manifest V3 e versões mais recentes, mas callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo que é passado para o callback.
Eventos
onActionIgnored
chrome.webRequest.onActionIgnored.addListener(
callback: function,
)
Disparado quando a modificação proposta de uma extensão em uma solicitação de rede é ignorada. Isso acontece em caso de conflitos com outras extensões.
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:(details: object) => void
-
detalhes
objeto
-
ação
A ação proposta que foi ignorada.
-
requestId
string
O ID da solicitação. Os IDs das solicitações são exclusivos em uma sessão do navegador. Como resultado, eles podem ser usados para relacionar diferentes eventos da mesma solicitação.
-
-
onAuthRequired
chrome.webRequest.onAuthRequired.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnAuthRequiredOptions[],
)
Disparado quando uma falha de autenticação é recebida. O listener tem três opções: pode fornecer credenciais de autenticação, cancelar a solicitação e exibir a página de erro ou pode não executar nenhuma ação no desafio. Se forem fornecidas credenciais de usuário inválidas, isso pode ser chamado várias vezes para a mesma solicitação. Observe que somente um dos modos 'blocking'
ou 'asyncBlocking'
precisa ser especificado no parâmetro extraInfoSpec
.
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:(details: object, asyncCallback?: function) => BlockingResponse | undefined
-
detalhes
objeto
-
desafiador
objeto
O servidor que solicita a autenticação.
-
anfitrião
string
-
porta
number
-
-
documentId
string
Chrome 106 ou mais recenteO UUID do documento que faz a solicitação.
-
documentLifecycleChrome 106 ou mais recente
O ciclo de vida em que o documento está.
-
frameId
number
O valor 0 indica que a solicitação acontece no frame principal. Um valor positivo indica o ID de um subframe em que a solicitação acontece. Se o documento de um (sub)frame for carregado (
type
formain_frame
ousub_frame
),frameId
indicará o ID desse frame, não o ID do frame externo. Os IDs de frame são exclusivos dentro de uma guia. -
frameTypeChrome 106 ou mais recente
O tipo de frame em que a solicitação ocorreu.
-
iniciador
string opcional
Chrome 63 ou mais recenteA origem em que a solicitação foi iniciada. Isso não muda com redirecionamentos. Se a origem for opaca, a string "null" será usada.
-
isProxy
boolean
Verdadeiro para Proxy-Authenticate, falso para WWW-Authenticate.
-
method
string
Método HTTP padrão.
-
parentDocumentId
string opcional
Chrome 106 ou mais recenteO UUID do documento pai que contém o frame. Isso não será definido se não houver um pai.
-
parentFrameId
number
ID do frame que une o frame que enviou a solicitação. Definido como -1 se nenhum frame pai existir.
-
realm
string opcional
O realm de autenticação fornecido pelo servidor, se houver.
-
requestId
string
O ID da solicitação. Os IDs das solicitações são exclusivos em uma sessão do navegador. Como resultado, eles podem ser usados para relacionar diferentes eventos da mesma solicitação.
-
responseHeaders
HttpHeaders opcional
Os cabeçalhos de resposta HTTP que foram recebidos com essa resposta.
-
planejar
string
O esquema de autenticação, por exemplo, Basic ou Digest.
-
statusCode
number
Chrome 43 ou mais recenteCódigo de status HTTP padrão retornado pelo servidor.
-
statusLine
string
Linha de status HTTP da resposta ou a string "HTTP/0.9 200 OK" para respostas HTTP/0.9 (ou seja, respostas sem linha de status) ou uma string vazia se não houver cabeçalhos.
-
tabId
number
O ID da guia em que a solicitação ocorre. Defina como -1 se a solicitação não estiver relacionada a uma guia.
-
timeStamp
number
A hora em que esse sinal é acionado, em milissegundos, desde o período.
-
Tipo
Como o recurso solicitado será usado.
-
url
string
-
-
asyncCallback
função optional
Chrome 58 ou mais recenteO parâmetro
asyncCallback
tem esta aparência:(response: BlockingResponse) => void
-
resposta
-
-
retorna
BlockingResponse | indefinido
Se "bloqueio" for especificado no parâmetro "extraInfoSpec", o listener de eventos retornará um objeto desse tipo.
-
-
filtro
-
extraInfoSpec
OnAuthRequiredOptions[] opcional
onBeforeRedirect
chrome.webRequest.onBeforeRedirect.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnBeforeRedirectOptions[],
)
Disparado quando um redirecionamento iniciado pelo servidor está prestes a ocorrer.
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:(details: object) => void
-
detalhes
objeto
-
documentId
string
Chrome 106 ou mais recenteO UUID do documento que faz a solicitação.
-
documentLifecycleChrome 106 ou mais recente
O ciclo de vida em que o documento está.
-
frameId
number
O valor 0 indica que a solicitação acontece no frame principal. Um valor positivo indica o ID de um subframe em que a solicitação acontece. Se o documento de um (sub)frame for carregado (
type
formain_frame
ousub_frame
),frameId
indicará o ID desse frame, não o ID do frame externo. Os IDs de frame são exclusivos dentro de uma guia. -
frameTypeChrome 106 ou mais recente
O tipo de frame em que a solicitação ocorreu.
-
fromCache
boolean
Indica se essa resposta foi buscada do cache de disco.
-
iniciador
string opcional
Chrome 63 ou mais recenteA origem em que a solicitação foi iniciada. Isso não muda com redirecionamentos. Se a origem for opaca, a string "null" será usada.
-
ip
string opcional
O endereço IP do servidor para onde a solicitação foi enviada. Ele pode ser um endereço IPv6 literal.
-
method
string
Método HTTP padrão.
-
parentDocumentId
string opcional
Chrome 106 ou mais recenteO UUID do documento pai que contém o frame. Isso não será definido se não houver um pai.
-
parentFrameId
number
ID do frame que une o frame que enviou a solicitação. Definido como -1 se nenhum frame pai existir.
-
redirectUrl
string
O novo URL.
-
requestId
string
O ID da solicitação. Os IDs das solicitações são exclusivos em uma sessão do navegador. Como resultado, eles podem ser usados para relacionar diferentes eventos da mesma solicitação.
-
responseHeaders
HttpHeaders opcional
Os cabeçalhos de resposta HTTP que foram recebidos com esse redirecionamento.
-
statusCode
number
Código de status HTTP padrão retornado pelo servidor.
-
statusLine
string
Linha de status HTTP da resposta ou a string "HTTP/0.9 200 OK" para respostas HTTP/0.9 (ou seja, respostas sem linha de status) ou uma string vazia se não houver cabeçalhos.
-
tabId
number
O ID da guia em que a solicitação ocorre. Defina como -1 se a solicitação não estiver relacionada a uma guia.
-
timeStamp
number
A hora em que esse sinal é acionado, em milissegundos, desde o período.
-
Tipo
Como o recurso solicitado será usado.
-
url
string
-
-
-
filtro
-
extraInfoSpec
OnBeforeRedirectOptions[] opcional
onBeforeRequest
chrome.webRequest.onBeforeRequest.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnBeforeRequestOptions[],
)
Disparado quando uma solicitação está prestes a ocorrer.
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:(details: object) => BlockingResponse | undefined
-
detalhes
objeto
-
documentId
string opcional
Chrome 106 ou mais recenteO UUID do documento que faz a solicitação.
-
documentLifecycle
extensionTypes.DocumentLifecycle opcional
Chrome 106 ou mais recenteO ciclo de vida em que o documento está.
-
frameId
number
O valor 0 indica que a solicitação acontece no frame principal. Um valor positivo indica o ID de um subframe em que a solicitação acontece. Se o documento de um (sub)frame for carregado (
type
formain_frame
ousub_frame
),frameId
indicará o ID desse frame, não o ID do frame externo. Os IDs de frame são exclusivos dentro de uma guia. -
frameType
extensionTypes.FrameType opcional
Chrome 106 ou mais recenteO tipo de frame em que a solicitação ocorreu.
-
iniciador
string opcional
Chrome 63 ou mais recenteA origem em que a solicitação foi iniciada. Isso não muda com redirecionamentos. Se a origem for opaca, a string "null" será usada.
-
method
string
Método HTTP padrão.
-
parentDocumentId
string opcional
Chrome 106 ou mais recenteO UUID do documento pai que contém o frame. Isso não será definido se não houver um pai.
-
parentFrameId
number
ID do frame que une o frame que enviou a solicitação. Definido como -1 se nenhum frame pai existir.
-
requestBody
objeto opcional
Contém os dados do corpo da solicitação HTTP. Fornecido somente se o extraInfoSpec contiver "requestBody".
-
error
string opcional
Erros ao receber dados do corpo da solicitação.
-
formData
objeto opcional
Se o método de solicitação for POST e o corpo for uma sequência de pares de chave-valor codificados em UTF8, codificados como multipart/form-data ou application/x-www-form-urlencoded, esse dicionário estará presente e para cada chave conterá a lista de todos os valores dessa chave. Se os dados forem de outro tipo de mídia ou estiverem malformados, o dicionário não estará presente. Um exemplo de valor desse dicionário é {'key': ['value1', 'value2']}.
-
bruto
UploadData[] opcional
Se o método de solicitação for PUT ou POST, e o corpo ainda não tiver sido analisado em formData, os elementos do corpo da solicitação não analisados estarão contidos nessa matriz.
-
-
requestId
string
O ID da solicitação. Os IDs das solicitações são exclusivos em uma sessão do navegador. Como resultado, eles podem ser usados para relacionar diferentes eventos da mesma solicitação.
-
tabId
number
O ID da guia em que a solicitação ocorre. Defina como -1 se a solicitação não estiver relacionada a uma guia.
-
timeStamp
number
A hora em que esse sinal é acionado, em milissegundos, desde o período.
-
Tipo
Como o recurso solicitado será usado.
-
url
string
-
-
retorna
BlockingResponse | indefinido
Se "bloqueio" for especificado no parâmetro "extraInfoSpec", o listener de eventos retornará um objeto desse tipo.
-
-
filtro
-
extraInfoSpec
OnBeforeRequestOptions[] opcional
onBeforeSendHeaders
chrome.webRequest.onBeforeSendHeaders.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnBeforeSendHeadersOptions[],
)
Disparado antes de enviar uma solicitação HTTP, quando os cabeçalhos da solicitação estão disponíveis. Isso pode ocorrer depois que uma conexão TCP é feita com o servidor, mas antes do envio de quaisquer dados HTTP.
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:(details: object) => BlockingResponse | undefined
-
detalhes
objeto
-
documentId
string
Chrome 106 ou mais recenteO UUID do documento que faz a solicitação.
-
documentLifecycleChrome 106 ou mais recente
O ciclo de vida em que o documento está.
-
frameId
number
O valor 0 indica que a solicitação acontece no frame principal. Um valor positivo indica o ID de um subframe em que a solicitação acontece. Se o documento de um (sub)frame for carregado (
type
formain_frame
ousub_frame
),frameId
indicará o ID desse frame, não o ID do frame externo. Os IDs de frame são exclusivos dentro de uma guia. -
frameTypeChrome 106 ou mais recente
O tipo de frame em que a solicitação ocorreu.
-
iniciador
string opcional
Chrome 63 ou mais recenteA origem em que a solicitação foi iniciada. Isso não muda com redirecionamentos. Se a origem for opaca, a string "null" será usada.
-
method
string
Método HTTP padrão.
-
parentDocumentId
string opcional
Chrome 106 ou mais recenteO UUID do documento pai que contém o frame. Isso não será definido se não houver um pai.
-
parentFrameId
number
ID do frame que une o frame que enviou a solicitação. Definido como -1 se nenhum frame pai existir.
-
requestHeaders
HttpHeaders opcional
Os cabeçalhos de solicitação HTTP que serão enviados com essa solicitação.
-
requestId
string
O ID da solicitação. Os IDs das solicitações são exclusivos em uma sessão do navegador. Como resultado, eles podem ser usados para relacionar diferentes eventos da mesma solicitação.
-
tabId
number
O ID da guia em que a solicitação ocorre. Defina como -1 se a solicitação não estiver relacionada a uma guia.
-
timeStamp
number
A hora em que esse sinal é acionado, em milissegundos, desde o período.
-
Tipo
Como o recurso solicitado será usado.
-
url
string
-
-
retorna
BlockingResponse | indefinido
Se "bloqueio" for especificado no parâmetro "extraInfoSpec", o listener de eventos retornará um objeto desse tipo.
-
-
filtro
-
extraInfoSpec
OnBeforeSendHeadersOptions[] opcional
onCompleted
chrome.webRequest.onCompleted.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnCompletedOptions[],
)
Disparado quando uma solicitação é concluída.
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:(details: object) => void
-
detalhes
objeto
-
documentId
string
Chrome 106 ou mais recenteO UUID do documento que faz a solicitação.
-
documentLifecycleChrome 106 ou mais recente
O ciclo de vida em que o documento está.
-
frameId
number
O valor 0 indica que a solicitação acontece no frame principal. Um valor positivo indica o ID de um subframe em que a solicitação acontece. Se o documento de um (sub)frame for carregado (
type
formain_frame
ousub_frame
),frameId
indicará o ID desse frame, não o ID do frame externo. Os IDs de frame são exclusivos dentro de uma guia. -
frameTypeChrome 106 ou mais recente
O tipo de frame em que a solicitação ocorreu.
-
fromCache
boolean
Indica se essa resposta foi buscada do cache de disco.
-
iniciador
string opcional
Chrome 63 ou mais recenteA origem em que a solicitação foi iniciada. Isso não muda com redirecionamentos. Se a origem for opaca, a string "null" será usada.
-
ip
string opcional
O endereço IP do servidor para onde a solicitação foi enviada. Ele pode ser um endereço IPv6 literal.
-
method
string
Método HTTP padrão.
-
parentDocumentId
string opcional
Chrome 106 ou mais recenteO UUID do documento pai que contém o frame. Isso não será definido se não houver um pai.
-
parentFrameId
number
ID do frame que une o frame que enviou a solicitação. Definido como -1 se nenhum frame pai existir.
-
requestId
string
O ID da solicitação. Os IDs das solicitações são exclusivos em uma sessão do navegador. Como resultado, eles podem ser usados para relacionar diferentes eventos da mesma solicitação.
-
responseHeaders
HttpHeaders opcional
Os cabeçalhos de resposta HTTP que foram recebidos com essa resposta.
-
statusCode
number
Código de status HTTP padrão retornado pelo servidor.
-
statusLine
string
Linha de status HTTP da resposta ou a string "HTTP/0.9 200 OK" para respostas HTTP/0.9 (ou seja, respostas sem linha de status) ou uma string vazia se não houver cabeçalhos.
-
tabId
number
O ID da guia em que a solicitação ocorre. Defina como -1 se a solicitação não estiver relacionada a uma guia.
-
timeStamp
number
A hora em que esse sinal é acionado, em milissegundos, desde o período.
-
Tipo
Como o recurso solicitado será usado.
-
url
string
-
-
-
filtro
-
extraInfoSpec
OnCompletedOptions[] opcional
onErrorOccurred
chrome.webRequest.onErrorOccurred.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnErrorOccurredOptions[],
)
Disparado quando ocorre um erro.
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:(details: object) => void
-
detalhes
objeto
-
documentId
string
Chrome 106 ou mais recenteO UUID do documento que faz a solicitação. Esse valor não estará presente se a solicitação for uma navegação de um frame.
-
documentLifecycleChrome 106 ou mais recente
O ciclo de vida em que o documento está.
-
error
string
A descrição do erro. Não há garantia de que essa string continue compatível com versões anteriores entre as versões. Não é permitido analisar e agir com base nesse conteúdo.
-
frameId
number
O valor 0 indica que a solicitação acontece no frame principal. Um valor positivo indica o ID de um subframe em que a solicitação acontece. Se o documento de um (sub)frame for carregado (
type
formain_frame
ousub_frame
),frameId
indicará o ID desse frame, não o ID do frame externo. Os IDs de frame são exclusivos dentro de uma guia. -
frameTypeChrome 106 ou mais recente
O tipo de frame em que a solicitação ocorreu.
-
fromCache
boolean
Indica se essa resposta foi buscada do cache de disco.
-
iniciador
string opcional
Chrome 63 ou mais recenteA origem em que a solicitação foi iniciada. Isso não muda com redirecionamentos. Se a origem for opaca, a string "null" será usada.
-
ip
string opcional
O endereço IP do servidor para onde a solicitação foi enviada. Ele pode ser um endereço IPv6 literal.
-
method
string
Método HTTP padrão.
-
parentDocumentId
string opcional
Chrome 106 ou mais recenteO UUID do documento pai que contém o frame. Isso não será definido se não houver um pai.
-
parentFrameId
number
ID do frame que une o frame que enviou a solicitação. Definido como -1 se nenhum frame pai existir.
-
requestId
string
O ID da solicitação. Os IDs das solicitações são exclusivos em uma sessão do navegador. Como resultado, eles podem ser usados para relacionar diferentes eventos da mesma solicitação.
-
tabId
number
O ID da guia em que a solicitação ocorre. Defina como -1 se a solicitação não estiver relacionada a uma guia.
-
timeStamp
number
A hora em que esse sinal é acionado, em milissegundos, desde o período.
-
Tipo
Como o recurso solicitado será usado.
-
url
string
-
-
-
filtro
-
extraInfoSpec
OnErrorOccurredOptions[] opcional
onHeadersReceived
chrome.webRequest.onHeadersReceived.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnHeadersReceivedOptions[],
)
Disparado quando os cabeçalhos de resposta HTTP de uma solicitação são recebidos.
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:(details: object) => BlockingResponse | undefined
-
detalhes
objeto
-
documentId
string
Chrome 106 ou mais recenteO UUID do documento que faz a solicitação.
-
documentLifecycleChrome 106 ou mais recente
O ciclo de vida em que o documento está.
-
frameId
number
O valor 0 indica que a solicitação acontece no frame principal. Um valor positivo indica o ID de um subframe em que a solicitação acontece. Se o documento de um (sub)frame for carregado (
type
formain_frame
ousub_frame
),frameId
indicará o ID desse frame, não o ID do frame externo. Os IDs de frame são exclusivos dentro de uma guia. -
frameTypeChrome 106 ou mais recente
O tipo de frame em que a solicitação ocorreu.
-
iniciador
string opcional
Chrome 63 ou mais recenteA origem em que a solicitação foi iniciada. Isso não muda com redirecionamentos. Se a origem for opaca, a string "null" será usada.
-
method
string
Método HTTP padrão.
-
parentDocumentId
string opcional
Chrome 106 ou mais recenteO UUID do documento pai que contém o frame. Isso não será definido se não houver um pai.
-
parentFrameId
number
ID do frame que une o frame que enviou a solicitação. Definido como -1 se nenhum frame pai existir.
-
requestId
string
O ID da solicitação. Os IDs das solicitações são exclusivos em uma sessão do navegador. Como resultado, eles podem ser usados para relacionar diferentes eventos da mesma solicitação.
-
responseHeaders
HttpHeaders opcional
Os cabeçalhos de resposta HTTP que foram recebidos com essa resposta.
-
statusCode
number
Chrome 43 ou mais recenteCódigo de status HTTP padrão retornado pelo servidor.
-
statusLine
string
Linha de status HTTP da resposta ou a string "HTTP/0.9 200 OK" para respostas HTTP/0.9 (ou seja, respostas que não têm uma linha de status).
-
tabId
number
O ID da guia em que a solicitação ocorre. Defina como -1 se a solicitação não estiver relacionada a uma guia.
-
timeStamp
number
A hora em que esse sinal é acionado, em milissegundos, desde o período.
-
Tipo
Como o recurso solicitado será usado.
-
url
string
-
-
retorna
BlockingResponse | indefinido
Se "bloqueio" for especificado no parâmetro "extraInfoSpec", o listener de eventos retornará um objeto desse tipo.
-
-
filtro
-
extraInfoSpec
OnHeadersReceivedOptions[] opcional
onResponseStarted
chrome.webRequest.onResponseStarted.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnResponseStartedOptions[],
)
Disparado quando o primeiro byte do corpo da resposta é recebido. Para solicitações HTTP, isso significa que a linha de status e os cabeçalhos de resposta estão disponíveis.
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:(details: object) => void
-
detalhes
objeto
-
documentId
string
Chrome 106 ou mais recenteO UUID do documento que faz a solicitação.
-
documentLifecycleChrome 106 ou mais recente
O ciclo de vida em que o documento está.
-
frameId
number
O valor 0 indica que a solicitação acontece no frame principal. Um valor positivo indica o ID de um subframe em que a solicitação acontece. Se o documento de um (sub)frame for carregado (
type
formain_frame
ousub_frame
),frameId
indicará o ID desse frame, não o ID do frame externo. Os IDs de frame são exclusivos dentro de uma guia. -
frameTypeChrome 106 ou mais recente
O tipo de frame em que a solicitação ocorreu.
-
fromCache
boolean
Indica se essa resposta foi buscada do cache de disco.
-
iniciador
string opcional
Chrome 63 ou mais recenteA origem em que a solicitação foi iniciada. Isso não muda com redirecionamentos. Se a origem for opaca, a string "null" será usada.
-
ip
string opcional
O endereço IP do servidor para onde a solicitação foi enviada. Ele pode ser um endereço IPv6 literal.
-
method
string
Método HTTP padrão.
-
parentDocumentId
string opcional
Chrome 106 ou mais recenteO UUID do documento pai que contém o frame. Isso não será definido se não houver um pai.
-
parentFrameId
number
ID do frame que une o frame que enviou a solicitação. Definido como -1 se nenhum frame pai existir.
-
requestId
string
O ID da solicitação. Os IDs das solicitações são exclusivos em uma sessão do navegador. Como resultado, eles podem ser usados para relacionar diferentes eventos da mesma solicitação.
-
responseHeaders
HttpHeaders opcional
Os cabeçalhos de resposta HTTP que foram recebidos com essa resposta.
-
statusCode
number
Código de status HTTP padrão retornado pelo servidor.
-
statusLine
string
Linha de status HTTP da resposta ou a string "HTTP/0.9 200 OK" para respostas HTTP/0.9 (ou seja, respostas sem linha de status) ou uma string vazia se não houver cabeçalhos.
-
tabId
number
O ID da guia em que a solicitação ocorre. Defina como -1 se a solicitação não estiver relacionada a uma guia.
-
timeStamp
number
A hora em que esse sinal é acionado, em milissegundos, desde o período.
-
Tipo
Como o recurso solicitado será usado.
-
url
string
-
-
-
filtro
-
extraInfoSpec
OnResponseStartedOptions[] opcional
onSendHeaders
chrome.webRequest.onSendHeaders.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnSendHeadersOptions[],
)
Disparado logo antes de uma solicitação ser enviada ao servidor (modificações de callbacks onBeforeSendHeaders anteriores são visíveis no momento em que onSendHeaders é disparado).
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:(details: object) => void
-
detalhes
objeto
-
documentId
string
Chrome 106 ou mais recenteO UUID do documento que faz a solicitação.
-
documentLifecycleChrome 106 ou mais recente
O ciclo de vida em que o documento está.
-
frameId
number
O valor 0 indica que a solicitação acontece no frame principal. Um valor positivo indica o ID de um subframe em que a solicitação acontece. Se o documento de um (sub)frame for carregado (
type
formain_frame
ousub_frame
),frameId
indicará o ID desse frame, não o ID do frame externo. Os IDs de frame são exclusivos dentro de uma guia. -
frameTypeChrome 106 ou mais recente
O tipo de frame em que a solicitação ocorreu.
-
iniciador
string opcional
Chrome 63 ou mais recenteA origem em que a solicitação foi iniciada. Isso não muda com redirecionamentos. Se a origem for opaca, a string "null" será usada.
-
method
string
Método HTTP padrão.
-
parentDocumentId
string opcional
Chrome 106 ou mais recenteO UUID do documento pai que contém o frame. Isso não será definido se não houver um pai.
-
parentFrameId
number
ID do frame que une o frame que enviou a solicitação. Definido como -1 se nenhum frame pai existir.
-
requestHeaders
HttpHeaders opcional
Os cabeçalhos de solicitação HTTP que foram enviados com essa solicitação.
-
requestId
string
O ID da solicitação. Os IDs das solicitações são exclusivos em uma sessão do navegador. Como resultado, eles podem ser usados para relacionar diferentes eventos da mesma solicitação.
-
tabId
number
O ID da guia em que a solicitação ocorre. Defina como -1 se a solicitação não estiver relacionada a uma guia.
-
timeStamp
number
A hora em que esse sinal é acionado, em milissegundos, desde o período.
-
Tipo
Como o recurso solicitado será usado.
-
url
string
-
-
-
filtro
-
extraInfoSpec
OnSendHeadersOptions[] opcional