Запрос презентации: метод reconnect()
Ограниченная доступность
Эта функция не относится к Baseline, так как она не работает в некоторых из наиболее широко используемых браузеров.
Экспериментальная версия: Это экспериментальная технология Экспериментальная технология
Перед использованием в рабочей среде внимательно изучите таблицу совместимости браузеров Таблица совместимости браузеров.
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или во всех поддерживающих браузерах.
При вызове метода reconnect(presentationId) на объекте PresentationRequest presentationRequest, пользовательский агент ДОЛЖЕН выполнить следующие шаги для переподключения к презентации:
Входные данные
-
presentationRequest, объект
PresentationRequest, на котором был вызван методreconnect(). - presentationId, допустимый идентификатор презентации
Выходные данные
P, объект Promise.
Алгоритм
-
Используя объект настроек документа объект настроек, выполните алгоритм запрещения смешанных контекстов безопасности.
-
Если результат алгоритма —
"Prohibits Mixed Security Contexts", и URL запроса презентации presentationRequest является URL с априорно неаутентифицированным доступом, то верните объект Promise, отклоненный с исключениемSecurityError, и прервите выполнение этих шагов. -
Если флаг активной изоляции документа содержит флаг контекста просмотра презентации с изоляцией, то верните объект Promise, отклоненный с исключением
SecurityError, и прервите выполнение этих шагов. -
Пусть P — новый объект Promise.
-
Верните P, но продолжайте выполнение этих шагов параллельно.
-
Найдите в наборе контролируемых презентаций объект
PresentationConnection, который соответствует следующим критериям: его контекст управления — текущий контекст просмотра, его состояние подключения к презентации не равноterminated, URL презентации равен одному из URL запросов презентации presentationRequest, а идентификатор презентации равен presentationId. -
Если такой объект
PresentationConnectionсуществует, выполните следующие шаги:- Пусть S — этот объект
PresentationConnection. - Разрешить P с помощью S.
- Если состояние подключения к презентации S равно
connectingилиconnected, то прервите выполнение всех последующих шагов. - Установите состояние подключения к презентации S в значение
connecting. - Установить подключение к презентации с S.
- Прервите выполнение всех последующих шагов.
- Пусть S — этот объект
-
Найдите в наборе контролируемых презентаций первый объект
PresentationConnection, который соответствует следующим критериям: его состояние подключения к презентации не равноterminated, URL презентации равен одному из URL запросов презентации presentationRequest, а идентификатор презентации равен presentationId. -
Если такой объект
PresentationConnectionсуществует, пусть E — этот объектPresentationConnection, и выполните следующие шаги:- Создайте новый объект
PresentationConnectionS. - Установите идентификатор презентации объекта S равным presentationId.
- Установите URL презентации объекта S равным URL презентации объекта E.
- Установите состояние подключения к презентации объекта S в значение
connecting. - Добавьте объект S в набор контролируемых презентаций.
- Разрешить P с помощью S.
-
Вставьте задачу для вызова доверенного события с именем
connectionavailable, которое использует интерфейсPresentationConnectionAvailableEventс атрибутомconnection, установленным в значение S, в объекте presentationRequest. Событие не должно распространяться вверх по иерархии и не должно быть отменяемым, а также не должно иметь действий по умолчанию. - Установить подключение к презентации с S.
- Прервите выполнение всех последующих шагов.
- Создайте новый объект
-
Отклонить P с исключением
NotFoundError.
Спецификации
| Спецификация |
|---|
| API презентации # переподключение-к-презентации |
Совместимость браузеров
| Рабочий стол | Мобильный | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | |
reconnect |
47 | 79 | Нет | 34 | Нет | 47 | Нет | 34 | Нет | 5.0 | Нет |
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/PresentationRequest/reconnect