Um padrão de correspondência é um URL com a estrutura a seguir, usado para especificar um grupo de URLs:
<scheme>://<host>/<path>
scheme: precisa ser uma das opções a seguir, separada 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 não compatíveis, como about:
e data:
, consulte Como injetar frames relacionados.
host: um nome do host (www.example.com
). Um *
antes do nome do host para corresponder a subdomínios (*.example.com
) ou apenas um caractere curinga *
.
- Se você usar um caractere curinga no padrão de host, ele precisará ser o primeiro ou o único caractere seguido por um ponto (.
) ou uma barra (/
).
path: 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 diversos casos de uso, incluindo:
- Injetar um script de conteúdo.
- Declarar permissões de 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 começa com um esquema permitido, incluindo qualquer padrão listado em padrões válidos. Como ela afeta todos os hosts, as avaliações das extensões que a usam na Chrome Web Store 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.
- URLs e endereços IP do host local
- Para corresponder a qualquer porta localhost durante o desenvolvimento, use
http://localhost/*
. Para endereços IP, especifique o endereço e um caractere 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ínio 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 usando o esquema
https
. https://*/foo*
- Corresponde a qualquer URL usando o esquema
https
, em qualquer host, com um caminho que comece 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 use o esquema
https
em um host do google.com, com um caminho que comece comfoo
e termine 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 use o esquema
http
e esteja 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 começa com
http://mail.google.com
ouhttps://mail.google.com
.