RestrictionTarget: Die statische Methode fromElement()
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 statische Methode fromElement()
der RestrictionTarget
-Schnittstelle gibt eine Instanz von RestrictionTarget
zurück, die verwendet werden kann, um eine erfasste Videospur auf ein bestimmtes DOM-Element (und dessen Nachkommen) einzuschränken.
Syntax
RestrictionTarget.fromElement(element)
Parameter
element
-
Ein Verweis auf ein
Element
, das Sie als Eingrenzungsziel verwenden möchten. Damit ein Element als Eingrenzungsziel verwendet werden kann, muss es:- Einen Stacking Context bilden.
- Im 3D-Raum abgeflacht sein (zum Beispiel darf es keinen 3D-Transforms unterliegen).
- Gerendert sein (zum Beispiel darf es sich nicht außerhalb des sichtbaren Bereichs befinden oder durch
display: none
ausgeblendet sein). - Nur ein Box-Fragment enthalten (zum Beispiel darf es nicht über mehrere Zeilen aufgeteilt sein).
Wenn es die oben genannten Kriterien nicht erfüllt, gilt es als nicht geeignet für die Einschränkung.
Zusätzlich wird das Element nicht erfasst, wenn die eingeschränkte Spur Klone hat (zum Beispiel durch
BrowserCaptureMediaStreamTrack.clone()
erstellt) oder aus einem anderen Tab als dem aktuellen Benutzer-Tab erfasst wird (zum Beispiel überWindow.postMessage()
übergeben).
Hinweis: Wenn das Element erfasst wird, ist ein auf ihm eingestellter Alpha-Kanal-Wert nicht enthalten. Wenn das Eingrenzungsziel-Element halbtransparent ist, wird es in der Erfassung vollständig undurchsichtig sein und daher anders aussehen.
Rückgabewert
Ein Promise
, das in eine RestrictionTarget
-Objektinstanz aufgelöst wird, die dann an BrowserCaptureMediaStreamTrack.restrictTo()
übergeben werden kann, um das in der Spur erfasste Video nur auf das bestimmte DOM-Element einzuschränken, mit dem das RestrictionTarget
erstellt wurde.
RestrictionTarget
-Objekte sind serialisierbar. Sie können mit Mechanismen wie Window.postMessage()
an ein anderes Dokument übergeben werden.
Das Promise wird abgelehnt, wenn das Eingrenzungsziel-Element nicht für die Einschränkung geeignet ist.
Beispiele
// Options for getDisplayMedia()
const displayMediaOptions = {
preferCurrentTab: true,
};
// Create restriction target from DOM element
const demoElem = document.querySelector("#demo");
const restrictionTarget = await RestrictionTarget.fromElement(demoElem);
// Capture video stream from user's webcam and isolate video track
const stream =
await navigator.mediaDevices.getDisplayMedia(displayMediaOptions);
const [track] = stream.getVideoTracks();
// Restrict video track
await track.restrictTo(restrictionTarget);
// Broadcast restricted stream in <video> element
videoElem.srcObject = stream;
Siehe Verwendung der Element Capture und Region Capture APIs für kontextbezogene Code-Beispiele.
Spezifikationen
Specification |
---|
Element Capture # dom-restrictiontarget-fromelement |
Browser-Kompatibilität
BCD tables only load in the browser