Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

CaptureController: Methode setFocusBehavior()

Eingeschränkt verfügbar

Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.

Want more browser support for this feature? Tell us why.

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.

Die Methode setFocusBehavior() des Interfaces CaptureController steuert, ob der erfasste Tab oder das erfasste Fenster den Fokus erhält, wenn die zugehörige Promise von MediaDevices.getDisplayMedia() erfüllt wird, oder ob der Fokus beim Tab mit der erfassenden App bleibt.

Sie können dieses Verhalten vor dem Aufruf von MediaDevices.getDisplayMedia() mehrfach festlegen oder einmal unmittelbar, nachdem dessen Promise erfüllt wurde. Danach gilt das Fokusverhalten als endgültig festgelegt und kann nicht mehr geändert werden.

Syntax

js
setFocusBehavior(focusBehavior)

Parameter

focusBehavior

Ein Aufzählungswert, der angibt, ob der User Agent den Fokus auf die erfasste Anzeigefläche übertragen oder die erfassende App im Fokus behalten soll. Mögliche Werte sind focus-captured-surface (Fokus übertragen) und no-focus-change (Fokus bei der erfassenden App belassen).

Rückgabewert

Keiner (undefined).

Ausnahmen

InvalidStateError DOMException

Wird ausgelöst, wenn:

  • Der Erfassungsstream gestoppt wurde.
  • Der Benutzer einen Bildschirm (Typ monitor von displaySurface) statt eines browser-Tabs oder eines window zur Freigabe ausgewählt hat – ein Monitor kann keinen Fokus erhalten. In diesem Fall wird die Ausnahme ausgelöst, nachdem die Promise von MediaDevices.getDisplayMedia() erfüllt wurde.
  • Nach der Erfüllung der Promise von MediaDevices.getDisplayMedia() genügend Zeit vergangen ist, sodass das Fokusverhalten endgültig festgelegt wurde.

Beispiele

Grundlegende Verwendung von setFocusBehavior()

js
// 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");
}

Spezifikationen

Spezifikation
Screen Capture
# dom-capturecontroller-setfocusbehavior

Browser-Kompatibilität

Siehe auch