Definieren von Übereinstimmungsmustern für eine Erweiterung für den Zugriff auf Datei-URLs

Ein Microsoft Edge-Add-On (Erweiterung) kann Zugriff auf file URLs anfordern. Um dieses Feature zu aktivieren, müssen Sie diesen Zugriff explizit konfigurieren. Der Zugriff file auf URLs erfolgt nicht automatisch. Sie müssen die Verwaltungsseite für Erweiterungen auf der Microsoft Edge-Add-Ons-Website besuchen, um den Zugriff für jede Microsoft Edge-Erweiterung zu aktivieren file , die Zugriff auf URLs anfordert file .

Für Microsoft Edge-Add-Ons (Erweiterungen) funktioniert der Abgleich von Hostberechtigungen und Inhaltsskriptmustern wie folgt.

Hostberechtigungen und Inhaltsskriptabgleich basieren auf einer Reihe von URLs, die durch Übereinstimmungsmuster definiert sind. Ein Übereinstimmungsmuster ist im Wesentlichen eine URL, die mit einem zulässigen Schema (http, , httpsfileoder ftp) beginnt und "*"-Zeichen enthalten kann. Das spezielle Muster <all_urls> entspricht jeder URL, die mit einem zulässigen Schema beginnt. Jedes Übereinstimmungsmuster umfasst drei Teile:

  • -Schema – z. B. http oder file oder *

  • _host_ – z. B. www.google.com oder *.google.com oder *; wenn das Schema eine Datei ist, gibt es keinen Hostteil.

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

Grundlegende Syntax

Die grundlegende Syntax:

<url-pattern> := <scheme>://<host><path>
<scheme> := '*' | 'http' | 'https' | 'file' | 'ftp'
<host> := '*' | '*.' <any char except '/' and '*'>+
<path> := '/' <any chars>

Die Bedeutung von * hängt davon ab, ob es sich im Schema-, Host- oder Pfadteil befindet. Wenn das Schema ist *, entspricht es entweder http oder https, und nicht file, oder ftp. Wenn der Host nur *ist, stimmt er mit einem beliebigen Host überein. Wenn der Host ist *.hostname, stimmt er mit dem angegebenen Host oder einer der Unterdomänen überein. Im Abschnitt path entspricht jedes * 0 oder mehr Zeichen. In der folgenden Tabelle sind einige gültige Muster aufgeführt.

Beispiele für gültige Muster

Muster Funktion der Einstellung Beispiele für übereinstimmende URLs
http://*/* Entspricht jeder URL, die das HTTP-Schema verwendet. http://www.google.com http://example.org/foo/bar.html
http://*/foo* Entspricht jeder URL, die das HTTP-Schema verwendet, auf einem beliebigen Host, sofern der Pfad mit beginnt. /foo http://example.com/foo/bar.html http://www.google.com/foo
https://*.google.com/foo*bar Entspricht jeder URL, die das HTTPS-Schema verwendet, sich auf einem google.com Host befindet (z www.google.com. B. , docs.google.comoder google.com), solange der Pfad mit /foo beginnt und mit endet. bar https://www.google.com/foo/baz/bar https://docs.google.com/foobar
http://example.org/foo/bar.html Entspricht der angegebenen URL. http://example.org/foo/bar.html
file:///foo* Entspricht jeder lokalen Datei, deren Pfad mit beginnt. /foo file:///foo/bar.html file:///foo
http://127.0.0.1/* Entspricht einer beliebigen URL, die das http Schema verwendet und sich auf dem Host befindet. 127.0.0.1 http://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.combeginnt. http://mail.google.com/foo/baz/bar https://mail.google.com/foobar
<all_urls> Entspricht jeder URL, die ein zulässiges Schema verwendet. (Die Liste der zulässigen Schemas finden Sie am Anfang dieses Abschnitts.) http://example.org/foo/bar.html file:///bar/baz.html

Beispiele für ungültige Muster

Hier sind einige Beispiele für _invalid_ Mustervergleiche:

Ungültiges Muster Warum es schlecht ist
http://www.foo.com Nein _path_
http://*foo/bar Auf "*" im Host kann nur ein "." oder "/" folgen.
http://foo.*.bar/baz Wenn sich "*" im _host_befindet, muss es das erste Zeichen sein.
http:/bar Fehlendes _scheme_ Trennzeichen ("'/' sollte "//") sein
foo://* Ungültig _scheme_

Einige Schemas werden nicht in allen Kontexten unterstützt.

Hinweis

Teile dieser Seite sind Änderungen, die auf Arbeiten basieren, die von Google erstellt und geteilt und gemäß den in der Creative Commons Attribution 4.0 International License beschriebenen Bedingungen verwendet werden. Die ursprüngliche Seite finden Sie hier.

Creative Commons License Dieses Werk ist unter einer Creative Commons Attribution 4.0 International License lizenziert.