Compartilhar via


Definir padrões de correspondência para uma extensão para aceder a URLs de ficheiros

Um Suplemento do Microsoft Edge (extensão) pode pedir acesso aos file URLs. Para ativar esta funcionalidade, tem de configurar explicitamente este acesso. O acesso aos file URLs não é automático. Tem de visitar a página Gestão de extensões no site suplementos do Microsoft Edge para optar pelo file acesso a cada extensão do Microsoft Edge que solicite acesso aos file URLs.

Para Suplementos do Microsoft Edge (extensões), a correspondência de padrões de script de conteúdo e permissão de anfitrião funciona da seguinte forma.

As permissões de anfitrião e a correspondência de scripts de conteúdo baseiam-se num conjunto de URLs definidos por padrões de correspondência. Um padrão de correspondência é essencialmente um URL que começa com um esquema permitido (http, https, fileou ftp, e que pode conter carateres "*". 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:

  • scheme — por exemplo, http ou ou file*

  • _host_ — por exemplo, www.google.com ou *.google.com ou *; se o esquema for ficheiro, não existe nenhuma parte do anfitrião.

  • _path_ — por exemplo, /*, /foo*ou /foo/bar. O caminho tem de estar presente numa permissão de anfitrião, 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 está no esquema, anfitrião ou parte do caminho. Se o esquema for *, corresponde a http ou , httpse não filea , ou ftp. Se o anfitrião for apenas *, corresponde a qualquer anfitrião. Se o anfitrião for *.hostname, corresponde ao anfitrião especificado ou a qualquer um dos subdomínios. Na secção caminho, cada um * corresponde a 0 ou mais carateres. A tabela seguinte 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 utilize o esquema http http://www.google.com http://example.org/foo/bar.html
http://*/foo* Corresponde a qualquer URL que utilize o esquema http, em qualquer anfitrião, desde que o caminho comece por /foo http://example.com/foo/bar.html http://www.google.com/foo
https://*.google.com/foo*bar Corresponde a qualquer URL que utilize o esquema https, está num google.com anfitrião (como www.google.com, docs.google.comou google.com), desde que o caminho comece e /foo termine com bar https://www.google.com/foo/baz/bar https://docs.google.com/foobar
http://example.org/foo/bar.html Corresponde ao URL especificado http://example.org/foo/bar.html
file:///foo* Corresponde a qualquer ficheiro local cujo caminho comece por /foo file:///foo/bar.html file:///foo
http://127.0.0.1/* Corresponde a qualquer URL que utilize o http esquema e esteja no anfitrião 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 utilize um esquema permitido. (Consulte o início desta secção para obter a lista de esquemas permitidos.) http://example.org/foo/bar.html file:///bar/baz.html

Exemplos de padrões inválidos

Eis alguns exemplos de correspondências de _invalid_ padrões:

Padrão incorreto Por que é mau
http://www.foo.com Não _path_
http://*foo/bar "*" no anfitrião só pode ser seguido por um "." ou "/"
http://foo.*.bar/baz Se '*' estiver no _host_, tem de ser o primeiro caráter
http:/bar Separador em falta _scheme_ ("/" deve ser "//")
foo://* Inválido _scheme_

Alguns esquemas não são suportados em todos os contextos.

Observação

Partes desta página são modificações baseadas no trabalho criado e partilhado pela Google e utilizado de acordo com os termos descritos na Licença Internacional Creative Commons Attribution 4.0. A página original encontra-se aqui.

Licença Creative Commons Este trabalho é licenciado ao abrigo de uma Licença Internacional creative Commons Attribution 4.0.