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 einemSecurityError
abgelehnt 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
SecurityError
abgelehnt 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
PresentationConnection
existiert, führen Sie die folgenden Schritte aus:- Lassen Sie S diese
PresentationConnection
sein. - Lösen Sie P mit S auf.
- Wenn der Präsentationsverbindungszustand von S
connecting
oderconnected
ist, 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
PresentationConnection
existiert, lassen Sie E diesePresentationConnection
sein und führen Sie die folgenden Schritte aus:- Erstellen Sie eine neue
PresentationConnection
S. - 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
connectionavailable
auszulö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
NotFoundError
Ausnahme ab.
Spezifikationen
Specification |
---|
Presentation API # reconnecting-to-a-presentation |