CaptureController: setFocusBehavior() Methode
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
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 setFocusBehavior() Methode der CaptureController Schnittstelle steuert, ob der erfasste Tab oder das Fenster fokussiert wird, wenn das zugehörige MediaDevices.getDisplayMedia() Promise erfüllt wird, oder ob der Fokus beim Tab mit der erfassenden Anwendung bleibt.
Sie können dieses Verhalten mehrmals vor dem Aufruf von MediaDevices.getDisplayMedia() festlegen oder einmal unmittelbar, nachdem das Promise gelöst wurde. Danach wird gesagt, dass das Fokusverhalten abgeschlossen ist und nicht mehr geändert werden kann.
Syntax
setFocusBehavior(focusBehavior)
Parameter
focusBehavior-
Ein enumerierter Wert, der beschreibt, ob der Benutzeragent den Fokus auf die erfasste Anzeigefläche übertragen oder die erfassende Anwendung fokussiert lassen soll. Mögliche Werte sind
focus-captured-surface(überträgt den Fokus) undno-focus-change(behält den Fokus auf der erfassenden Anwendung).
Rückgabewert
Keiner (undefined).
Ausnahmen
InvalidStateErrorDOMException-
Wird ausgelöst, wenn:
- Der Erfassungsstrom gestoppt wurde.
- Der Benutzer sich entschieden hat, einen Bildschirm zu teilen (Typ
displaySurfacemonitor) anstatt einesbrowserTabs oderwindow— Sie können keinen Monitor fokussieren. In diesem Fall wird die Ausnahme ausgelöst, nachdem dasMediaDevices.getDisplayMedia()Promisegelöst wurde. - Genügend Zeit vergangen ist, nachdem das
MediaDevices.getDisplayMedia()Promiseerfüllt wurde, sodass das Fokusverhalten abgeschlossen ist.
Beispiele
>Grundlegende Nutzung von setFocusBehavior()
// 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
| Specification |
|---|
| Screen Capture> # dom-capturecontroller-setfocusbehavior> |
Browser-Kompatibilität
Loading…