chrome.webRequest

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:

Ciclo de vida de uma solicitação da Web da perspectiva da API webrequest

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) e image (uma imagem em um site). Consulte webRequest.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 esquemas ws:// e wss:// 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 modificar responseHeaders para cada solicitação).

FormDataItem

Chrome 66 ou mais recente

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

  • name

    string

    Nome do cabeçalho HTTP.

  • valor

    string opcional

    Valor do cabeçalho HTTP, se puder ser representado por UTF-8.

IgnoredActionType

Chrome 70 ou mais recente

Tipo enumerado

"redirect"

"request_headers"

"response_headers"

"auth_credentials"

OnAuthRequiredOptions

Chrome 44 ou mais recente

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

Chrome 44 ou mais recente

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

Chrome 44 ou mais recente

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

Chrome 44 ou mais recente

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

Chrome 44 ou mais recente

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

Chrome 79 ou mais recente

Valor

"extraHeaders"

OnHeadersReceivedOptions

Chrome 44 ou mais recente

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

Chrome 44 ou mais recente

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

Chrome 44 ou mais recente

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

Chrome 44 ou mais recente

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()

Promessa
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 recente

    Promessas 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 70 ou mais recente
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 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 recente

        O UUID do documento que faz a solicitação.

      • Chrome 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 for main_frame ou sub_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.

      • Chrome 106 ou mais recente

        O tipo de frame em que a solicitação ocorreu.

      • iniciador

        string opcional

        Chrome 63 ou mais recente

        A 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 recente

        O 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 recente

        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.

      • digitar

        Como o recurso solicitado será usado.

      • url

        string

    • asyncCallback

      função optional

      Chrome 58 ou mais recente

      O parâmetro asyncCallback tem esta aparência:

      (response: BlockingResponse)=>void

    • retorna

      BlockingResponse|indefinido

      Se "bloqueio" for especificado no parâmetro "extraInfoSpec", o listener de eventos retornará um objeto desse tipo.

  • Função filter
  • extraInfoSpec

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 recente

        O UUID do documento que faz a solicitação.

      • Chrome 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 for main_frame ou sub_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.

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

        A 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 recente

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

      • digitar

        Como o recurso solicitado será usado.

      • url

        string

  • Função filter
  • extraInfoSpec

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 recente

        O UUID do documento que faz a solicitação.

      • documentLifecycle
        Chrome 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 for main_frame ou sub_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
        Chrome 106 ou mais recente

        O tipo de frame em que a solicitação ocorreu.

      • iniciador

        string opcional

        Chrome 63 ou mais recente

        A 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 recente

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

      • digitar

        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.

  • Função filter
  • extraInfoSpec

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 recente

        O UUID do documento que faz a solicitação.

      • Chrome 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 for main_frame ou sub_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.

      • Chrome 106 ou mais recente

        O tipo de frame em que a solicitação ocorreu.

      • iniciador

        string opcional

        Chrome 63 ou mais recente

        A 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 recente

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

      • digitar

        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.

  • Função filter
  • extraInfoSpec

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 recente

        O UUID do documento que faz a solicitação.

      • Chrome 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 for main_frame ou sub_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.

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

        A 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 recente

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

      • digitar

        Como o recurso solicitado será usado.

      • url

        string

  • Função filter
  • 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 recente

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

      • Chrome 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 for main_frame ou sub_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.

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

        A 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 recente

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

      • digitar

        Como o recurso solicitado será usado.

      • url

        string

  • Função filter
  • extraInfoSpec

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 recente

        O UUID do documento que faz a solicitação.

      • Chrome 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 for main_frame ou sub_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.

      • Chrome 106 ou mais recente

        O tipo de frame em que a solicitação ocorreu.

      • iniciador

        string opcional

        Chrome 63 ou mais recente

        A 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 recente

        O 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 recente

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

      • digitar

        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.

  • Função filter
  • extraInfoSpec

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 recente

        O UUID do documento que faz a solicitação.

      • Chrome 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 for main_frame ou sub_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.

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

        A 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 recente

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

      • digitar

        Como o recurso solicitado será usado.

      • url

        string

  • Função filter
  • extraInfoSpec

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 recente

        O UUID do documento que faz a solicitação.

      • Chrome 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 for main_frame ou sub_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.

      • Chrome 106 ou mais recente

        O tipo de frame em que a solicitação ocorreu.

      • iniciador

        string opcional

        Chrome 63 ou mais recente

        A 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 recente

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

      • digitar

        Como o recurso solicitado será usado.

      • url

        string

  • Função filter
  • extraInfoSpec