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, bevor Sie diese produktiv verwenden.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Wenn die reconnect(presentationId)
-Methode auf einem PresentationRequest
-Objekt namens presentationRequest aufgerufen wird, MUSS der User Agent die folgenden Schritte ausführen, um eine Präsentation wiederzuverbinden:
Eingang
- presentationRequest, das
PresentationRequest
-Objekt, auf demreconnect()
aufgerufen wurde. - presentationId, ein gültiger Präsentationsidentifier
Ausgang
P, ein Promise.
Algorithmus
-
Verwenden Sie das Einstellungsobjekt des Dokuments, um den Algorithmus zum Verbot von gemischten Sicherheitskontexten auszuführen.
-
Wenn das Ergebnis des Algorithmus "Verbietet 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 einem
SecurityError
abgelehnt wird, und brechen Sie diese Schritte ab. -
Wenn das aktive Sandbox-Flag-Set des Dokumentobjekts das Sandboxed-Presentation-Browsing-Kontext-Flag gesetzt hat, dann 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 fahren Sie fort, diese Schritte parallel auszuführen.
-
Suchen Sie das Set der kontrollierten Präsentationen nach einer
PresentationConnection
, die folgende Kriterien erfüllt: Sein kontrollierender Browsing-Kontext ist der aktuelle Browsing-Kontext, sein Präsentationsverbindungsstatus ist nichtterminated
, seine Präsentations-URL entspricht einer der Präsentationsanfrage-URLs von presentationRequest und sein Präsentationsidentifier 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äsentationsverbindungsstatus von S
connecting
oderconnected
ist, brechen Sie alle verbleibenden Schritte ab. - Setzen Sie den Präsentationsverbindungsstatus von S auf
connecting
. - Stellen Sie eine Präsentationsverbindung her mit S.
- Brechen Sie alle verbleibenden Schritte ab.
- Lassen Sie S diese
-
Suchen Sie das Set der kontrollierten Präsentationen nach der ersten
PresentationConnection
, die folgende Kriterien erfüllt: Sein Präsentationsverbindungsstatus ist nichtterminated
, seine Präsentations-URL entspricht einer der Präsentationsanfrage-URLs von presentationRequest, und sein Präsentationsidentifier 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äsentationsidentifier von S auf presentationId.
- Setzen Sie die Präsentations-URL von S auf die Präsentations-URL von E.
- Setzen Sie den Präsentationsverbindungsstatus von S auf
connecting
. - Fügen Sie S dem Set der kontrollierten Präsentationen hinzu.
- Lösen Sie P mit S auf.
- Stellen Sie eine Aufgabe in die Warteschlange, um ein vertrauenswürdiges Ereignis mit dem Namen
connectionavailable
, das diePresentationConnectionAvailableEvent
-Schnittstelle mit demconnection
-Attribut, initialisiert mit S, bei presentationRequest verwendet, auszulösen. Das Ereignis darf nicht gebubbelt und stornierbar sein und sollte keine Standardaktion haben. - Stellen Sie eine Präsentationsverbindung her 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 |
Browser-Kompatibilität
BCD tables only load in the browser