id
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Das Manifestmitglied id wird verwendet, um eine eindeutige Kennung für Ihre Webanwendung anzugeben.
Syntax
/* Absolute URL */
"id": "https://example.com/myapp"
/* Relative URL */
"id": "myapp/v2"
/* URL with query parameters */
"id": "myapp?version=2&mode=trial"
Werte
id-
Ein String, der die Form einer URL annimmt. Die URL muss denselben Ursprung wie die
start_urlIhrer Webanwendung haben. Wennideine relative URL ist, wird sie unter Verwendung des Ursprungs vonstart_urlaufgelöst. Jegliches Fragment in deridwird immer ignoriert. Wennidnicht angegeben wird oder der Wert in irgendeiner Weise ungültig ist (z. B. nicht ein String, keine gültige URL, nicht denselben Ursprung wiestart_url), wird der Wert vonstart_urlverwendet.
Beschreibung
Das Manifestmitglied id dient als eindeutige Kennung für Ihre Webanwendung. Es erlaubt Browsern, zwischen verschiedenen Anwendungen zu unterscheiden:
- Wenn ein Browser auf ein App-Manifest mit einer
idtrifft, die nicht einer bereits installierten Anwendung entspricht, behandelt er dieses Manifest als Beschreibung einer eigenständigen Anwendung, selbst wenn es von derselben URL wie eine andere Anwendung bereitgestellt wird. - Wenn ein Browser auf ein App-Manifest mit einer
idtrifft, die mit der Identität einer bereits installierten Anwendung übereinstimmt, behandelt er das neue Manifest als Ersatz für das bestehende Manifest der App, selbst wenn die App von einer anderen URL als der zuvor installierten bereitgestellt wird.
Hinweis:
Während die id wie eine URL verarbeitet wird, zeigt sie nicht auf eine zugängliche Ressource, sodass sie nicht innerhalb des scope der App liegen muss.
Die id kann auch von Diensten verwendet werden, die Sammlungen von Web-Apps führen, um Anwendungen eindeutig zu identifizieren.
Nutzungshinweise
Einige wichtige Punkte, die bei der Verwendung des id Mitglieds zu beachten sind:
- Es wird als empfohlene Praxis angesehen, ein führendes
/zu verwenden, um anzugeben, dassidein root-relativer URL-Pfad ist. - Da
idrelativ zum Ursprung derstart_urlaufgelöst wird, führenidWerte wie../foo,foo,/foound./fooalle zur gleichen Kennung relativ zum Ursprung. Zum Beispiel, wennstart_urlhttps://example.com/app/ist, werden all dieseidWerte zuhttps://example.com/foo/aufgelöst. - Standardregeln zur URL-Codierung und -Decodierung gelten beim Auflösen des
idWerts. - Fragmente in der
idwerden während der Verarbeitung entfernt. Zum Beispiel, wennidauffoo#bargesetzt ist, wird sie alsfooaufgelöst. Ebenso, wennidnicht definiert ist undstart_urlhttps://example.com/app/#homeist, wirdidzuhttps://example.com/app/aufgelöst. - Abfrageparameter in der
idwerden beibehalten und in die endgültige aufgelöste Kennung eingeschlossen.
Verständnis der id Auflösung
Angenommen, die start_url für Ihre App ist https://example.com/my-app/home. Die folgende Tabelle zeigt, wie verschiedene id Werte im Manifest aufgelöst werden:
id im Manifest |
Aufgelöste id |
Erklärung |
|---|---|---|
| undefiniert | https://example.com/my-app/home |
Standardmäßig als start_url |
"" |
https://example.com/my-app/home |
Leerer String wird als start_url aufgelöst |
/ |
https://example.com/ |
Root-relative URL |
foo?x=y |
https://example.com/foo?x=y |
Relativer Pfad, aufgelöst gegen den Ursprung der start_url mit beibehaltenen Abfrageparametern |
foo#heading |
https://example.com/foo |
Relativer Pfad, aufgelöst gegen den Ursprung der start_url mit entferntem Fragment |
https://anothersite.com/foo |
https://example.com/my-app/home |
Fremdursprungs-URL nicht erlaubt, fällt auf start_url zurück |
😀 |
https://example.com/%F0%9F%98%80 |
Nicht-ASCII-Zeichen in URL codiert |
Beispiele
>Erstellung einer eigenständigen App-Version
Angenommen, Sie erstellen eine Webanwendung mit folgendem Manifest:
{
"name": "My Weather Application",
"id": "https://example.com/weatherapp/v1",
"start_url": "https://example.com/app"
}
Wenn Sie später eine andere Version dieser App mit erheblichen Änderungen erstellen und möchten, dass sie als eine andere App behandelt wird, können Sie das Manifest wie folgt hinzufügen:
{
"name": "My Weather Application",
"id": "https://example.com/weatherapp/v2",
"start_url": "https://example.com/app"
}
In diesem Fall werden die neuen Manifestdateien von den Browsern als Beschreibung einer eigenständigen Anwendung behandelt, da die ids unterschiedlich sind. Dadurch können Benutzer beide Versionen gleichzeitig installiert haben.
Aktualisierung einer bestehenden App
Betrachten Sie ein Szenario, in dem Sie eine Webanwendung mit folgendem Manifest bereitstellen:
{
"name": "My Weather Application",
"id": "https://example.com/weatherapp/",
"start_url": "https://example.com/old-app"
}
Entscheiden Sie sich später, die App auf einen anderen Pfad zu verschieben, aktualisieren Sie das Manifest wie folgt:
{
"name": "My Weather Application",
"id": "https://example.com/weatherapp/",
"start_url": "https://example.com/new-app"
}
Browser werden dieses neue Manifest als Aktualisierung der bestehenden App behandeln, da die id Werte übereinstimmen. In diesem Fall erhalten Benutzer ein Update ihrer bestehenden App, anstatt zur Installation einer neuen App aufgefordert zu werden.
Spezifikationen
| Specification |
|---|
| Web Application Manifest> # id-member> |
Browser-Kompatibilität
Loading…