Wzorce dopasowania

Dopasowanie uprawnień hosta i skryptu treści opiera się na zbiorze adresów URL zdefiniowanych za pomocą wzorów dopasowania. Wzorzec dopasowania to w podstawie adres URL, który zaczyna się od dozwolonego schematu (http, https, file lub ftp) i może zawierać znaki „*”. Wzorzec specjalny <all_urls> pasuje do dowolnego adresu URL, który zaczyna się od dozwolonego schematu. Każdy wzór dopasowania składa się z 3 części:

  • schemat – na przykład http, file lub *.

    Uwaga: dostęp do adresów URL file nie jest przyznawany automatycznie. Użytkownik musi otworzyć stronę zarządzania rozszerzeniami i zezwolić na file w przypadku każdego rozszerzenia, które tego wymaga.
  • host – na przykład www.google.com lub *.google.com lub *; jeśli schemat to file, nie ma części host

  • ścieżka – na przykład /*, /foo* lub /foo/bar. Ścieżka musi być obecna w uprawnieniu hosta, ale zawsze jest traktowana jako /*.

Oto podstawowa składnia:

&lt;url-pattern&gt; := &lt;scheme&gt;://&lt;host&gt;&lt;path&gt;
&lt;scheme&gt; := '*' | 'http' | 'https' | 'file' | 'ftp' | 'urn'
&lt;host&gt; := '*' | '*.' &lt;any char except '/' and '*'&gt;+
&lt;path&gt; := '/' &lt;any chars&gt;

Znaczenie znaku „*” zależy od tego, czy znajduje się on w części schemat, host czy ścieżka. Jeśli schemat to *, to odpowiada on albo http, albo https, a nie file, ftp ani urn. Jeśli host to tylko *, to pasuje do dowolnego hosta. Jeśli host to *._hostname_, to pasuje do określonego hosta lub dowolnej jego subdomeny. W sekcji ścieżka każdy znak „*” pasuje do 0 lub więcej znaków. W tabeli poniżej znajdziesz kilka prawidłowych wzorów.

WzórZastosowaniePrzykłady pasujących adresów URL
http://*/*Pasuje do dowolnego adresu URL, który używa schematu httphttp://www.google.com/
http://example.org/foo/bar.html
http://*/foo*Pasuje do każdego adresu URL, który używa schematu http, na dowolnym hoście, o ile ścieżka zaczyna się od /foohttp://example.com/foo/bar.html
http://www.google.com/foo
https://*.google.com/foo*barpasuje do dowolnego adresu URL, który używa schematu https, znajduje się na hoście google.com (np. www.google.com, docs.google.com lub google.com), o ile ścieżka zaczyna się od /foo i kończy barhttps://www.google.com/foo/baz/bar
https://docs.google.com/foobar
http://example.org/foo/bar.htmlpasuje do podanego adresu URL,http://example.org/foo/bar.html
file:///foo*Pasuje do każdego pliku lokalnego, którego ścieżka zaczyna się od /foofile:///foo/bar.html
file:///foo
http://127.0.0.1/*pasuje do dowolnego adresu URL, który używa schematu http i znajduje się na hoście 127.0.0.1;http://127.0.0.1/
http://127.0.0.1/foo/bar.html
*://mail.google.com/*Pasuje do każdego adresu URL, który zaczyna się od http://mail.google.com lub https://mail.google.com.http://mail.google.com/foo/baz/bar
https://mail.google.com/foobar
urn:*Pasuje do każdego adresu URL, który zaczyna się od urn:.urn:uuid:54723bea-c94e-480e-80c8-a69846c3f582
urn:uuid:cfa40aff-07df-45b2-9f95-e023bcf4a6da
<all_urls>Dopasowuje wszystkie adresy URL, które używają dozwolonego schematu. (listę dozwolonych schematów znajdziesz na początku tej sekcji).http://example.org/foo/bar.html
file:///bar/baz.html

Oto kilka przykładów nieprawidłowych dopasowań wzorca:

Nieprawidłowy wzórDlaczego jest zła
http://www.google.comBrak ścieżki
http://*foo/barPo znaku „*” w host może występować tylko znak „.” lub „/”.
http://foo.*.bar/baz Jeśli w polu host występuje znak „*”, musi on być pierwszym znakiem.
http:/barBrak separatora schematu (zamiast „/” powinno być „//”)
foo://*Nieprawidłowy schemat

Niektóre schematy nie są obsługiwane we wszystkich kontekstach.