Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
scope_extensions
Experimentell:Dies ist eineexperimentelle Technologie
Überprüfen Sie dieBrowser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Dasscope_extensions Manifest-Element wird verwendet, um den Bereich einer Web-App auf andere Ursprünge zu erweitern. Dies ermöglicht es, mehrere Domains als eine einzige Web-App darzustellen.
In diesem Artikel
Syntax
"scope_extensions": [ { "type": "origin", "origin": "https://support.example.com"}, { "type": "origin", "origin": "https://shop.example.com"}, { "type": "origin", "origin": "https://example.de"}, { "type": "origin", "origin": "https://example.co.uk"}]Werte
scope_extensionsEin Array von Objekten, das die folgenden Eigenschaften enthält:
Beschreibung
Dasscope_extensions Manifest-Element kann den Bereich einer Web-App erweitern, um andere Ursprünge einzuschließen. Typische Anwendungsfälle sind:
- Verschiedene Subdomains für Inhalte oder Funktionen, zum Beispiel
https://support.example.com,https://shop.example.com,https://maps.example.com,https://auth.example.com. - Verschiedene Subdomains für Sprache/Gebietsschema, zum Beispiel
https://uk.example.com,https://de.example.com,https://jp.example.com,https://no.example.com. - Verwandte unabhängige Domains, zum Beispiel
https://example.jp,https://my-example.com,https://my-partner-site.com,https://example.slack.com.
Die Haupt-Web-App (zum Beispiel,https://example.com) muss die Ursprünge, die sie in ihrem Bereich einschließen möchte, in ihremscope_extensions Manifest-Element angeben:
{ "scope_extensions": [ { "type": "origin", "origin": "https://example.jp" }, { "type": "origin", "origin": "https://my-example.com" }, { "type": "origin", "origin": "https://my-partner-site.com" }, { "type": "origin", "origin": "https://example.slack.com" } ]}Opt-in über eine .well-known Datei
Um in die Assoziation einzuwilligen, müssen die Sites, deren Ursprünge als im Bereich derscope_extensions der Web-App angegeben sind, eine.well-known Datei namensweb-app-origin-association unter einer relativen URL von/.well-known/web-app-origin-association enthalten. Diese muss eine JSON-Struktur enthalten, die eine oder mehrere Eigenschaften umfasst, deren Schlüssel gleich denid Manifest-Elementen jeder Web-App sind, in deren Bereich die Site einwilligt.
Zum Beispiel:
{ "https://example.com": { "scope": "/" }, "https://beta.example.com": { "scope": "/" }}Der Wert jeder Eigenschaft ist ein Objekt, das einescope-Eigenschaft enthält, deren Wert den genauen Pfad angibt, der im Bereich der referenzierenden Web-App liegt.
Hinweis:Es ist nicht möglich, unterschiedliche Bereiche für dieselbe Web-App anzugeben – Sie können nicht mehrere Einträge für denselben Schlüssel einfügen.
Auswirkung vonscope_extensions
Sobald die in denscope_extensions der Web-App enthaltenen Ursprünge erfolgreich eingewilligt haben, können Sie dann zu Orten innerhalb des Bereichs dieser Ursprünge verlinken, und wenn die Links gefolgt werden, erscheinen die Orte im App-Fenster genauso wie Orte innerhalb des eigenen Bereichs der Web-App.
Wenn Sie einem Link zu einem Ort folgen, der nicht im Bereich der Web-App liegt, wird er wie erwartet als externer Ort angezeigt.
Beispiele
Nehmen wir eine Beispiel-Web-App an, die sich unterhttps://example.com/app befindet:
{ "id": "https://example.com/app", "name": "My App", "icons": [ { "src": "icon/hd_hi", "sizes": "128x128" } ], "start_url": "/app/index.html", "scope": "/app", "display": "standalone", "scope_extensions": [ { "type": "origin", "origin": "https://example.co.uk" }, { "type": "origin", "origin": "https://help.example.com" } ]}Um in den Bereich der App einzuwilligen, müsstenhttps://example.co.uk undhttps://help.example.com eine/.well-known/web-app-origin-association enthalten, die folgendermaßen aussieht:
{ "https://example.com/app": { "scope": "/" }}Spezifikationen
| Specification |
|---|
| Manifest Incubations> # scope_extensions-member> |
Browser-Kompatibilität
Siehe auch
scopeManifest-Element