Um padrão de correspondência é um URL com a seguinte estrutura, usado para especificar um grupo de URLs:
<scheme>://<host>/<path>
scheme: precisa ser um dos seguintes, separado do restante do padrão usando dois-pontos seguido de um caractere barra dupla (://
):
http
https
- Um caractere curinga
*
, que corresponde apenas ahttp
ouhttps
file
Para saber como injetar scripts de conteúdo em esquemas sem suporte, como about:
e data:
, consulte Como injetar em frames relacionados.
host: um nome de host (www.example.com
). Um *
antes do nome do host para corresponder a subdomínios (*.example.com
) ou apenas um *
curinga.
- Se você usar um caractere curinga no padrão do host, ele precisa ser o primeiro ou o único caractere e ser seguido por um ponto (.
) ou uma barra (/
).
caminho: um caminho de URL (/example
). Para permissões de host, o caminho é obrigatório, mas é ignorado. O caractere curinga (/*
) deve ser usado por convenção.
As extensões usam padrões de correspondência em vários casos de uso, incluindo:
- Injetando o script de conteúdo.
- Declarar permissões do host que algumas APIs do Chrome exigem, além das próprias permissões.
- Conceder acesso a recursos acessíveis pela Web.
- Permitir o envio e o recebimento de mensagens usando a chave de manifesto "externally_connectable.matches".
Casos especiais
"<all_urls>"
- Corresponde a qualquer URL que comece com um esquema permitido, incluindo qualquer padrão listado em padrões válidos. Como isso afeta todos os hosts, as análises da Chrome Web Store para extensões que usam esse recurso podem levar mais tempo.
"file:///"
- Permite que a extensão seja executada em arquivos locais. Esse padrão exige que o usuário conceda acesso manualmente. Esse caso requer três barras, não duas.
- Endereços IP e URLs do localhost
- Para corresponder a qualquer porta localhost durante o desenvolvimento, use
http://localhost/*
. Para endereços IP, especifique o endereço e um curinga no caminho, como emhttp://127.0.0.1/*
. Também é possível usarhttp://*:*/*
para corresponder ao localhost, endereços IP e qualquer porta. - Padrões de correspondência de domínios de nível superior
- O Chrome não oferece suporte a padrões de correspondência para domínios de nível superior (TLD). Especifique seus padrões de correspondência em TLDs individuais, como
http://google.es/*
ehttp://google.fr/*
.
Exemplos de padrões
https://*/*
ouhttps://*/
- Corresponde a qualquer URL que usa o esquema
https
. https://*/foo*
- Corresponde a qualquer URL que usa o esquema
https
em qualquer host com um caminho que começa comfoo
. Exemplos de correspondências incluemhttps://example.com/foo/bar.html
ehttps://www.google.com/foo
. https://*.google.com/foo*bar
- Corresponde a qualquer URL que usa o esquema
https
em um host google.com com um caminho que começa comfoo
e termina combar
. Exemplos de correspondências incluemhttps://www.google.com/foo/baz/bar
ehttps://docs.google.com/foobar
. file:///foo*
- Corresponde a qualquer arquivo local cujo caminho comece com
foo
. Exemplos de correspondências incluemfile:///foo/bar.html
efile:///foo
. http://127.0.0.1/*
ouhttp://127.0.0.1/
- Corresponde a qualquer URL que usa o esquema
http
e está no host 127.0.0.1. Exemplos de correspondências incluemhttp://127.0.0.1/
ehttp://127.0.0.1/foo/bar.html
. http://localhost/*
- Corresponde a qualquer porta do localhost.
*://mail.google.com/
ou*://mail.google.com/*
- Corresponde a qualquer URL que comece com
http://mail.google.com
ouhttps://mail.google.com
.