Übereinstimmungsmuster

Hostberechtigungen und der Content-Skriptabgleich basieren auf einer Reihe von URLs, die durch Übereinstimmung definiert werden. Muster zu erkennen. Ein Übereinstimmungsmuster ist im Wesentlichen eine URL, die mit einem zulässigen Schema beginnt (http, https, file oder ftp, und das kann "*" enthalten Zeichen. Das spezielle Muster <all_urls> stimmt mit dem eine beliebige URL, die mit einem zulässigen Schema beginnt. Jedes Übereinstimmungsmuster besteht aus drei Teilen:

  • scheme, z. B. http, file oder *

    Hinweis:Der Zugriff auf file-URLs erfolgt nicht automatisch. Der Nutzer muss die Seite zum Verwalten von Erweiterungen aufrufen und für jede Erweiterung, die dies anfordert, die Berechtigung „file“ erteilen.
  • host, z. B. www.google.com, *.google.com oder *; Wenn das Schema file ist, kein host-Teil

  • path, z. B. /*, /foo* oder /foo/bar Der Pfad muss in einer Hostberechtigung vorhanden sein. wird aber immer als /* behandelt.

Die grundlegende Syntax lautet:

&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;

Die Bedeutung von „*“ hängt davon ab, ob er sich im scheme-, host- oder path-Teil befindet. Wenn die scheme ist * und stimmt entweder mit http oder https überein und nicht file, ftp oder urn. Wenn die host nur * ist, stimmt damit mit jedem Host überein. Wenn der Host *._hostname_ ist, entspricht er dem des angegebenen Hosts oder einer seiner Subdomains. Im Abschnitt path gibt es jeweils '*' entspricht 0 oder mehr Zeichen. Die folgende Tabelle zeigt einige gültige Muster.

MusterFunktionBeispiele für übereinstimmende URLs
http://*/*Stimmt mit jeder URL überein, die das Schema http verwendethttp://www.google.com/
http://example.org/foo/bar.html
http://*/foo*Entspricht jeder URL, die das Schema http auf einem beliebigen Host verwendet, solange der Pfad mit /foo beginnthttp://example.com/foo/bar.html
http://www.google.com/foo
https://*.google.com/foo*barEntspricht jeder URL, die das Schema https verwendet und sich auf einem google.com-Host befindet (z. B. www.google.com, docs.google.com oder google.com), solange der Pfad mit /foo beginnt und mit bar endet.https://www.google.com/foo/baz/bar
https://docs.google.com/foobar
http://example.org/foo/bar.htmlStimmt mit der angegebenen URL übereinhttp://example.org/foo/bar.html
file:///foo*Stimmt mit jeder lokalen Datei überein, deren Pfad mit /foo beginntfile:///foo/bar.html
file:///foo
http://127.0.0.1/*Entspricht jeder URL, die das Schema http verwendet und sich auf dem Host 127.0.0.1 befindethttp://127.0.0.1/
http://127.0.0.1/foo/bar.html
*://mail.google.com/*Entspricht jeder URL, die mit http://mail.google.com oder https://mail.google.com beginnt.http://mail.google.com/foo/baz/bar
https://mail.google.com/foobar
urn:*Entspricht jeder URL, die mit urn: beginnt.urn:uuid:54723bea-c94e-480e-80c8-a69846c3f582
urn:uuid:cfa40aff-07df-45b2-9f95-e023bcf4a6da
<all_urls>Entspricht jeder URL, die ein zulässiges Schema verwendet. Eine Liste der zulässigen Schemas finden Sie am Anfang dieses Abschnitts.http://example.org/foo/bar.html
file:///bar/baz.html

Hier einige Beispiele für ungültige Musterübereinstimmungen:

Ungültiges MusterWarum ist es schlecht?
http://www.google.comKein path
http://*foo/bar* im host darf nur von einem "." gefolgt werden. oder "/"
http://foo.*.bar/baz Wenn „*“ befindet sich im host, muss es das erste Zeichen sein.
http:/barFehlendes Schema-Trennzeichen („/“ muss „//“)
foo://*Ungültiges Schema

Einige Schemas werden nicht in allen Kontexten unterstützt.