Een matchpatroon is een URL met de volgende structuur, die wordt gebruikt om een groep URL's te specificeren:
<scheme>://<host>:<port>/<path>
Schema : Moet een van de volgende zijn, gescheiden van de rest van het patroon door een dubbele punt gevolgd door een dubbele schuine streep ( :// ):
-
http -
https - Een jokerteken
*, dat alleen overeenkomt methttpofhttps -
file
Voor informatie over het injecteren van inhoudsscripts in niet-ondersteunde schema's, zoals about: en data: :, zie Injecteren in gerelateerde frames .
host : Een hostnaam ( www.example.com ). Een * vóór de hostnaam om subdomeinen te matchen ( *.example.com ), of gewoon een wildcard * . - Als u een wildcard in het hostpatroon gebruikt, moet dit het eerste of enige teken zijn en moet het gevolgd worden door een punt ( . ) of een schuine streep ( / ).
poort (optioneel) : Poort om te matchen. Standaard wordt dit behandeld als een wildcard met hetzelfde gedrag als :* .
pad : Een URL-pad ( /example ). Voor hostrechten is het pad vereist, maar wordt genegeerd. Het wildcard-teken ( /* ) moet volgens de conventie worden gebruikt.
Extensies gebruiken overeenkomstpatronen in diverse toepassingen, waaronder de volgende:
- Inhoudsscript injecteren.
- Het opgeven van hostmachtigingen die sommige Chrome API's vereisen, naast hun eigen machtigingen.
- Toegang verlenen tot online bronnen .
- Het verzenden en ontvangen van berichten is mogelijk met behulp van de manifestsleutel "externally_connectable.matches" .
Bijzondere gevallen
-
"<all_urls>" - Komt overeen met elke URL die begint met een toegestaan schema, inclusief elk patroon dat wordt vermeld onder geldige patronen . Omdat het alle hosts beïnvloedt, kan het langer duren voordat Chrome Web Store-beoordelingen voor extensies die dit gebruiken, worden verwerkt.
-
"file:///" - Hiermee kan uw extensie op lokale bestanden worden uitgevoerd. Dit patroon vereist dat de gebruiker handmatig toegang verleent . Let op: in dit geval zijn drie schuine strepen nodig, niet twee.
- Localhost-URL's en IP-adressen
- Gebruik
http://localhost/*ofhttp://127.0.0.1/*(om een IP-adres te matchen). Matchpatronen matchen alle poorten, tenzij een expliciete poort is opgegeven. - Overeenkomstpatronen voor topniveaudomeinen
- Chrome ondersteunt geen zoekpatronen voor topdomeinen (TLD's) . Specificeer uw zoekpatronen binnen individuele TLD's, zoals in
http://google.es/*enhttp://google.fr/*.
Voorbeeldpatronen
-
https://*/*ofhttps://*/ - Komt overeen met elke URL die gebruikmaakt van het
httpsschema. -
https://*/foo* - Komt overeen met elke URL die het
httpsschema gebruikt, op elke host, met een pad dat begint metfoo. Voorbeelden van overeenkomsten zijnhttps://example.com/foo/bar.htmlenhttps://www.google.com/foo. -
https://*.google.com/foo*bar - Komt overeen met elke URL die gebruikmaakt van het
httpsschema, op een google.com-host, met een pad dat begint metfooen eindigt metbar. Voorbeelden van overeenkomsten zijnhttps://www.google.com/foo/baz/barenhttps://docs.google.com/foobar. -
file:///foo* - Komt overeen met elk lokaal bestand waarvan het pad begint met
foo. Voorbeelden van overeenkomsten zijnfile:///foo/bar.htmlenfile:///foo. -
http://127.0.0.1/*ofhttp://127.0.0.1/ - Komt overeen met elke URL die het
httpschema gebruikt en zich op de host 127.0.0.1 bevindt. Voorbeelden van overeenkomsten zijnhttp://127.0.0.1/enhttp://127.0.0.1/foo/bar.html. -
http://localhost/* - Komt overeen met elke localhost-poort.
-
*://mail.google.com/of*://mail.google.com/* - Komt overeen met elke URL die begint met
http://mail.google.comofhttps://mail.google.com.