PresentationRequest: reconnect() Methode
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Wenn die Methode reconnect(presentationId) auf einem PresentationRequest presentationRequest aufgerufen wird, MUSS der User-Agent die folgenden Schritte ausführen, um sich wieder mit einer Präsentation zu verbinden:
Eingabe
- presentationRequest, das
PresentationRequest-Objekt, auf demreconnect()aufgerufen wurde. - presentationId, ein gültiger Präsentationsidentifikator
Ausgabe
P, ein Promise.
Algorithmus
-
Verwenden Sie das Einstellungsobjekt des Dokuments, um den Algorithmus zur Verhinderung von gemischten Sicherheitskontexten durchzuführen.
-
Wenn das Ergebnis des Algorithmus
"Verhindert gemischte Sicherheitskontexte"ist und die Präsentationsanfrage-URL von presentationRequest eine a priori nicht authentifizierte URL ist, dann geben Sie ein Promise zurück, das mit einemSecurityErrorabgelehnt wird, und brechen Sie diese Schritte ab. -
Wenn das aktive Sandboxing-Flag-Set des Dokumentobjekts das sandboxed presentation browsing context flag enthält, geben Sie ein Promise zurück, das mit einem
SecurityErrorabgelehnt wird, und brechen Sie diese Schritte ab. -
Lassen Sie P ein neues Promise sein.
-
Geben Sie P zurück, aber führen Sie diese Schritte parallel weiter aus.
-
Durchsuchen Sie die Menge der kontrollierten Präsentationen nach einer
PresentationConnection, die die folgenden Kriterien erfüllt: ihr steuernder Browser-Kontext ist der aktuelle Browsing-Kontext, ihr Präsentationsverbindungszustand ist nichtterminated, ihre Präsentations-URL entspricht einer der Präsentationsanfrage-URLs von presentationRequest und ihr Präsentationsidentifikator entspricht presentationId. -
Wenn eine solche
PresentationConnectionexistiert, führen Sie die folgenden Schritte aus:- Lassen Sie S diese
PresentationConnectionsein. - Lösen Sie P mit S auf.
- Wenn der Präsentationsverbindungszustand von S
connectingoderconnectedist, dann brechen Sie alle verbleibenden Schritte ab. - Setzen Sie den Präsentationsverbindungszustand von S auf
connecting. - Erstellen Sie eine Präsentationsverbindung mit S.
- Brechen Sie alle verbleibenden Schritte ab.
- Lassen Sie S diese
-
Durchsuchen Sie die Menge der kontrollierten Präsentationen nach der ersten
PresentationConnection, die die folgenden Kriterien erfüllt: ihr Präsentationsverbindungszustand ist nichtterminated, ihre Präsentations-URL entspricht einer der Präsentationsanfrage-URLs von presentationRequest, und ihr Präsentationsidentifikator entspricht presentationId. -
Wenn eine solche
PresentationConnectionexistiert, lassen Sie E diesePresentationConnectionsein und führen Sie die folgenden Schritte aus:- Erstellen Sie eine neue
PresentationConnectionS. - Setzen Sie den Präsentationsidentifikator von S auf presentationId.
- Setzen Sie die Präsentations-URL von S auf die Präsentations-URL von E.
- Setzen Sie den Präsentationsverbindungszustand von S auf
connecting. - Fügen Sie S zur Menge der kontrollierten Präsentationen hinzu.
- Lösen Sie P mit S auf.
- Warteschlangieren Sie eine Aufgabe, um ein vertrauenswürdiges Ereignis mit dem Namen
connectionavailableauszulösen, das diePresentationConnectionAvailableEvent-Schnittstelle mit demconnection-Attribut verwendet, das auf S initialisiert ist, bei presentationRequest. Das Ereignis darf nicht blubbern und abgebrochen werden und sollte keine Standardaktion haben. - Erstellen Sie eine Präsentationsverbindung mit S.
- Brechen Sie alle verbleibenden Schritte ab.
- Erstellen Sie eine neue
-
Lehnen Sie P mit einer
NotFoundErrorAusnahme ab.
Spezifikationen
| Specification |
|---|
| Presentation API> # reconnecting-to-a-presentation> |
Browser-Kompatibilität
Loading…