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, , filehttpsou 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 ou file*

  • _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 , httpse 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.comou 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.

Licença Creative Commons Este trabalho é licenciado sob uma Licença Internacional de Atribuição do Creative Commons 4.0.