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 por uma barra dupla (//
):
http
https
- Um caractere curinga
*
, que corresponde apenas ahttp
ouhttps
file
Para saber mais sobre 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.
- Concessão de 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 sua extensão seja executada em arquivos locais. Esse padrão exige que o usuário conceda acesso manualmente. Observe que 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 localhost.
*://mail.google.com/
ou*://mail.google.com/*
- Corresponde a qualquer URL que comece com
http://mail.google.com
ouhttps://mail.google.com
.