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 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

Ausgang

P, ein Promise.

Algorithmus

  1. Verwenden Sie das Einstellungsobjekt des Dokuments, um den Algorithmus zum Verbot von gemischten Sicherheitskontexten auszuführen.

  2. 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.

  3. 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.

  4. Lassen Sie P ein neues Promise sein.

  5. Geben Sie P zurück, aber fahren Sie fort, diese Schritte parallel auszuführen.

  6. 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 nicht terminated, seine Präsentations-URL entspricht einer der Präsentationsanfrage-URLs von presentationRequest und sein Präsentationsidentifier entspricht presentationId.

  7. Wenn eine solche PresentationConnection existiert, führen Sie die folgenden Schritte aus:

    1. Lassen Sie S diese PresentationConnection sein.
    2. Lösen Sie P mit S auf.
    3. Wenn der Präsentationsverbindungsstatus von S connecting oder connected ist, brechen Sie alle verbleibenden Schritte ab.
    4. Setzen Sie den Präsentationsverbindungsstatus von S auf connecting.
    5. Stellen Sie eine Präsentationsverbindung her mit S.
    6. Brechen Sie alle verbleibenden Schritte ab.
  8. Suchen Sie das Set der kontrollierten Präsentationen nach der ersten PresentationConnection, die folgende Kriterien erfüllt: Sein Präsentationsverbindungsstatus ist nicht terminated, seine Präsentations-URL entspricht einer der Präsentationsanfrage-URLs von presentationRequest, und sein Präsentationsidentifier entspricht presentationId.

  9. Wenn eine solche PresentationConnection existiert, lassen Sie E diese PresentationConnection sein, und führen Sie die folgenden Schritte aus:

    1. Erstellen Sie eine neue PresentationConnection S.
    2. Setzen Sie den Präsentationsidentifier von S auf presentationId.
    3. Setzen Sie die Präsentations-URL von S auf die Präsentations-URL von E.
    4. Setzen Sie den Präsentationsverbindungsstatus von S auf connecting.
    5. Fügen Sie S dem Set der kontrollierten Präsentationen hinzu.
    6. Lösen Sie P mit S auf.
    7. Stellen Sie eine Aufgabe in die Warteschlange, um ein vertrauenswürdiges Ereignis mit dem Namen connectionavailable, das die PresentationConnectionAvailableEvent-Schnittstelle mit dem connection-Attribut, initialisiert mit S, bei presentationRequest verwendet, auszulösen. Das Ereignis darf nicht gebubbelt und stornierbar sein und sollte keine Standardaktion haben.
    8. Stellen Sie eine Präsentationsverbindung her mit S.
    9. Brechen Sie alle verbleibenden Schritte ab.
  10. 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