Javascript navigator.mediaDevices.getUserMedia перемещает источник вперед - PullRequest
2 голосов
/ 19 мая 2019

Я использую этот код, но когда он получает исходный код, он всегда перемещает это окно вперед, что немного раздражает, но я не вижу никаких опций в этом коде, которые заставляют его двигаться вперед, поэтому не уверен как это предотвратить.

Он перемещает источник на передний план, перед моим приложением, и фокусируется на этом окне, а не на моем приложении, поэтому каждый раз, когда я получаю источник, мне приходится снова нажимать на свое приложение.

  navigator.mediaDevices.getUserMedia({
    audio: false,
    video: {
      mandatory: {
        chromeMediaSource: 'desktop',
        chromeMediaSourceId: desktop_id,
        minWidth: 2480,
        maxWidth: 2480,
        minHeight: 1440,
        maxHeight: 1440
      }
    }
  }).then(gotStream).catch(getUserMediaError);

РЕДАКТИРОВАТЬ: чтобы избежать путаницы, это код из приложения Desktop Capturer здесь https://github.com/hokein/electron-sample-apps/tree/master/desktop-capture

1 Ответ

2 голосов
/ 20 мая 2019

Это делается браузерами, чтобы попытаться помочь. Обычно, когда люди хотят что-то представить или поделиться, например, В веб-конференции вызов фокусируется на выбранном окне и выдвигает его вперед - именно то, что пользователи хотят и ожидают.

Поведение не является обязательным требованием в spec , но и Chrome, и более новые версии Firefox делают это (и, возможно, другие браузеры).

Старые версии Firefox этого не делали, и это сбивало с толку: вы выбираете окно, и тогда оно будет выглядеть так, как будто ничего не произошло. Это связано с тем, что сайты веб-конференций, как правило, не показывают самообследование того, чем делятся, поскольку обычно ожидается, что вы будете взаимодействовать с окном, которым вы делитесь напрямую, вместо того, чтобы смотреть на его эскиз.

Если у вас есть вариант использования, когда сдвиг окна на передний план нежелателен, рассмотрите вопрос о подаче проблемы в спецификации, объясняющей ваш вариант использования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...