3

我正在使用此代码,但是当它获取源代码时,它总是将该窗口移到前面,这有点烦人,但是我在此代码中看不到任何使其移到前面的选项,因此不确定如何防止它。

它将源移动到前面,在我的应用程序前面,并将焦点放在那个窗口而不是我的应用程序上,所以每次我得到源代码时,我都必须再次点击我的应用程序。

  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

4

1 回答 1

2

这是由浏览器完成的,以试图提供帮助。通常,当人们想要展示或分享某些东西时,例如在网络电话会议中,聚焦选定的窗口并将其推到前面正是用户想要和期望的。

该行为不是规范中的要求,但 Chrome 和较新版本的 Firefox 都会这样做(可能还有其他浏览器)。

旧版本的 Firefox 没有这样做,这很令人困惑:您选择一个窗口,然后它看起来好像什么也没发生。这是因为网络会议站点通常不会显示共享内容的自视图,因为通常期望您将与您正在共享的窗口直接交互,而不是盯着它的缩略图。

如果您有一个不希望将窗口推到前面的用例,请考虑在规范中提交问题,解释您的用例。

于 2019-05-19T21:57:08.907 回答