Definindo padrões de correspondência para uma extensão para acessar URLs de arquivo
Um Complemento do Microsoft Edge (extensão) pode solicitar acesso a file
URLs. Para habilitar esse recurso, você precisa configurar explicitamente esse acesso. O acesso a file
URLs não é automático. Você deve visitar a página de gerenciamento de extensões no site de Complementos do Microsoft Edge para optar pelo file
acesso a cada extensão do Microsoft Edge que solicita acesso às file
URLs.
Para complementos do Microsoft Edge (extensões), a permissão do host e a correspondência de padrões de script de conteúdo funcionam da seguinte maneira.
As permissões de host e a correspondência de script de conteúdo baseiam-se em um conjunto de URLs definidas por padrões de correspondência. Um padrão de correspondência é essencialmente uma URL que começa com um esquema permitido (http
, , file
https
ou ftp
, e que pode conter caracteres '*
'. O padrão <all_urls>
especial corresponde a qualquer URL que comece com um esquema permitido. Cada padrão de correspondência tem 3 partes:
esquema – por exemplo,
http
ou oufile
*
_host_
— por exemplo,www.google.com
ou*.google.com
ou*
; se o esquema for arquivo, não haverá nenhuma parte do host._path_
— por exemplo,/*
,/foo*
ou/foo/bar
. O caminho deve estar presente em uma permissão de host, mas é sempre tratado como/*
.
Sintaxe básica
A sintaxe básica:
<url-pattern> := <scheme>://<host><path>
<scheme> := '*' | 'http' | 'https' | 'file' | 'ftp'
<host> := '*' | '*.' <any char except '/' and '*'>+
<path> := '/' <any chars>
O significado de *
depende se ele está na parte de esquema, host ou caminho. Se o esquema for *
, ele corresponderá http
ou , https
e não file
, ou ftp
. Se o host for apenas *
, ele corresponderá a qualquer host. Se o host for *.hostname
, ele corresponderá ao host especificado ou a qualquer um dos subdomínios. Na seção caminho, cada *
um corresponde a 0 ou mais caracteres. A tabela a seguir mostra alguns padrões válidos.
Exemplos de padrões válidos
Padrão | Função | Exemplos de URLs correspondentes |
---|---|---|
http://*/* |
Corresponde a qualquer URL que use o esquema http | http://www.google.com http://example.org/foo/bar.html |
http://*/foo* |
Corresponde a qualquer URL que use o esquema http, em qualquer host, desde que o caminho comece com /foo |
http://example.com/foo/bar.html http://www.google.com/foo |
https://*.google.com/foo*bar |
Corresponde a qualquer URL que usa o esquema https, está em um google.com host (como www.google.com , docs.google.com ou google.com ), desde que o caminho comece com /foo e termine com bar |
https://www.google.com/foo/baz/bar https://docs.google.com/foobar |
http://example.org/foo/bar.html |
Corresponde à URL especificada | http://example.org/foo/bar.html |
file:///foo* |
Corresponde a qualquer arquivo local cujo caminho começa com /foo |
file:///foo/bar.html file:///foo |
http://127.0.0.1/* |
Corresponde a qualquer URL que usa o http esquema e está no host 127.0.0.1 |
http://127.0.0.1 http://127.0.0.1/foo/bar.html |
*://mail.google.com/* |
Corresponde a qualquer URL que comece com http://mail.google.com ou https://mail.google.com . |
http://mail.google.com/foo/baz/bar https://mail.google.com/foobar |
<all_urls> |
Corresponde a qualquer URL que use um esquema permitido. (Confira o início desta seção para a lista de esquemas permitidos.) | http://example.org/foo/bar.html file:///bar/baz.html |
Exemplos de padrões inválidos
Aqui estão alguns exemplos de correspondências de _invalid_
padrão:
Padrão ruim | Por que é ruim |
---|---|
http://www.foo.com |
Não _path_ |
http://*foo/bar |
'* ' no host só pode ser seguido por um '. ' ou '/ ' |
http://foo.*.bar/baz |
Se '* ' estiver no _host_ , ele deve ser o primeiro caractere |
http:/bar |
Separador ausente _scheme_ ('/ ' deve ser "// ") |
foo://* |
Inválido _scheme_ |
Alguns esquemas não têm suporte em todos os contextos.
Observação
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Google e usadas de acordo com os termos descritos na Licença Internacional de Atribuição do Creative Commons 4.0. A página original é encontrada aqui.
Este trabalho é licenciado sob uma Licença Internacional de Atribuição do Creative Commons 4.0.