Um padrão de correspondência é um URL com a seguinte estrutura, usado para especificar um grupo de URLs:
<scheme>://<host>:<port>/<path>
scheme: precisa ser um dos seguintes, separado do restante do padrão usando dois pontos seguidos por uma barra dupla (://):
httphttps- Um caractere curinga
*, que corresponde apenas ahttpouhttps file
Para informações sobre como injetar scripts de conteúdo em esquemas não compatíveis, como about: e data:, consulte Injeção 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 caractere curinga *.
- Se você usar um caractere curinga no padrão de host, ele precisa ser o primeiro ou único caractere e precisa ser seguido por um ponto (.) ou uma barra (/).
port (opcional): porta a ser correspondida. Por padrão, isso é tratado como um caractere curinga com o mesmo comportamento de :*.
path: um caminho do URL (/example). Para permissões de host, o caminho é obrigatório, mas ignorado. O caractere curinga (/*) precisa ser usado por convenção.
As extensões usam padrões de correspondência em vários casos de uso, incluindo:
- Injeção de script de conteúdo.
- Declaração de 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.
- Permissão de envio e 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 afeta todos os hosts, as análises da Chrome Web Store para extensões que o usam 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 grant access. Esse caso exige três barras, não duas.
- URLs e endereços IP de localhost
- Use
http://localhost/*ouhttp://127.0.0.1/*(para corresponder a um endereço IP). Os padrões de correspondência correspondem a todas as portas, a menos que uma porta explícita seja especificada. - 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 em
http://google.es/*ehttp://google.fr/*.
Exemplos de padrões
https://*/*ouhttps://*/- Corresponde a qualquer URL que use o esquema
https. https://*/foo*- Corresponde a qualquer URL que use o esquema
https, em qualquer host, com um caminho que começa comfoo. Exemplos de correspondências incluemhttps://example.com/foo/bar.htmlehttps://www.google.com/foo. https://*.google.com/foo*bar- Corresponde a qualquer URL que use o esquema
https, em um host google.com, com um caminho que começa comfooe termina combar. Exemplos de correspondências incluemhttps://www.google.com/foo/baz/barehttps://docs.google.com/foobar. file:///foo*- Corresponde a qualquer arquivo local cujo caminho comece com
foo. Exemplos de correspondências incluemfile:///foo/bar.htmlefile:///foo. http://127.0.0.1/*ouhttp://127.0.0.1/- Corresponde a qualquer URL que use o esquema
httpe 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 de localhost.
*://mail.google.com/ou*://mail.google.com/*- Corresponde a qualquer URL que comece com
http://mail.google.comouhttps://mail.google.com.