Spec-Zone.ru › Web APIs

CaptureController: метод setFocusBehavior()

Ограниченная доступность

Эта функция не является базовой, так как она не работает в некоторых широко используемых браузерах.

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

Экспериментально: Это экспериментальная технология
Перед использованием в производстве внимательно проверьте таблицу совместимости с браузерами таблица совместимости с браузерами.

Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или всех поддерживающих браузерах.

Метод setFocusBehavior() интерфейса CaptureController управляет тем, будет ли фокусироваться захваченный вклад или окно при выполнении связанного MediaDevices.getDisplayMedia() Promise, или фокус останется на вкладке с приложением, выполняющим захват.

Вы можете установить это поведение несколько раз до вызова MediaDevices.getDisplayMedia() или один раз сразу после разрешения его Promise. После этого поведение фокусировки считается окончательным и изменить его нельзя.

Синтаксис

setFocusBehavior(focusBehavior)

Параметры

focusBehavior

Перечисление, которое описывает, должен ли пользовательский агент передать фокус на поверхность отображения захвата или сохранить фокус на приложении, выполняющем захват. Возможные значения — focus-captured-surface (передача фокуса) и no-focus-change (сохранение фокуса на приложении).

Возвращаемое значение

None (undefined).

Исключения

InvalidStateError DOMException

Выбрасывается, если:

  • Поток захвата был остановлен.
  • Пользователь выбрал совместное использование экрана (displaySurface тип monitor) вместо вкладки browser или window — вы не можете сфокусироваться на мониторе. В этом случае исключение выбрасывается после разрешения MediaDevices.getDisplayMedia() Promise.
  • Прошло достаточно времени после того, как MediaDevices.getDisplayMedia() Promise завершилось, что поведение фокусировки стало окончательным.

Примеры

// Create a new CaptureController instance
const controller = new CaptureController();

// Prompt the user to share a tab, window, or screen.
const stream = await navigator.mediaDevices.getDisplayMedia({ controller });

// Query the displaySurface value of the captured video track
const [track] = stream.getVideoTracks();
const displaySurface = track.getSettings().displaySurface;

if (displaySurface == "browser") {
  // Focus the captured tab.
  controller.setFocusBehavior("focus-captured-surface");
} else if (displaySurface == "window") {
  // Do not move focus to the captured window.
  // Keep the capturing page focused.
  controller.setFocusBehavior("no-focus-change");
}

Спецификации

Спецификация
Захват экрана
# dom-capturecontroller-setfocusbehavior

Совместимость с браузерами

Рабочий стол Мобильные
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
setFocusBehavior 109 109 Нет 95 Нет Нет Нет Нет Нет Нет Нет

См. также

  • API захвата экрана
  • MediaDevices.getDisplayMedia()
  • Улучшение совместного использования экрана с условным фокусом

© 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/CaptureController/setFocusBehavior

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API