CaptureController: forwardWheel() Methode
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 forwardWheel()
-Methode der CaptureController
-Schnittstelle beginnt mit dem Weiterleiten von wheel
-Ereignissen, die auf dem referenzierten Element ausgelöst werden, an die Ansichtsfläche einer zugehörigen erfassten Anzeigefläche.
Die Methode forwardWheel()
muss über eine vorübergehende Aktivierung aufgerufen werden. Konkret sind die einzigen Ereignisse, die sie erfolgreich aufrufen können, click
und input
. Außerdem wird der Benutzer um Erlaubnis gebeten, Tabs zu teilen, wenn die Bildschirmerfassung erstmals versucht wird; gewährt der Benutzer die Erlaubnis, schließt dies auch die Erlaubnis ein, erfasste Tabs zu scrollen. Wenn die entsprechende Berechtigung bereits als "granted"
gesetzt ist, ist keine vorübergehende Aktivierung erforderlich.
Syntax
forwardWheel(element)
Parameter
element
-
Ein Verweis auf das Element, dessen
wheel
-Ereignisse Sie an die zugehörige erfasste Anzeigefläche weiterleiten möchten.
Rückgabewert
Ausnahmen
InvalidStateError
DOMException
-
Wird ausgelöst, wenn:
- Der erfassende
MediaStream
, der durch den ursprünglichen Aufruf vonMediaDevices.getDisplayMedia()
zurückgegeben wurde, nicht mehr erfasst, zum Beispiel weil die zugehörigenMediaStreamTrack
-Objekte mitstop()
gestoppt wurden. - Die Anwendung sich selbst erfasst.
- Ein Versuch unternommen wird,
forwardWheel()
ohne vorübergehende Aktivierung aufzurufen, wenn die Benutzung vom Benutzer nicht genehmigt wurde.
- Der erfassende
NotAllowedError
DOMException
-
Wird ausgelöst, wenn:
- Die Berechtigungsrichtlinie der Seite durch den
captured-surface-control
Header nicht erlaubt, dass die Seite die Captured Surface Control API verwendet. - Die Erlaubnis, die Anzeigefläche zu erfassen, vom Benutzer ausdrücklich verweigert wird.
- Die Berechtigungsrichtlinie der Seite durch den
NotSupportedError
DOMException
-
Der erfasste Flächentyp ist kein Browser-Tab.
Beispiele
Grundlegende Anwendung von forwardWheel()
In unserem Live-Demo, erklärt in Verwendung der Captured Surface Control API, rufen wir eine Funktion namens startForwarding()
auf, nachdem das Erfassungsversprechen getDisplayMedia()
erfüllt wurde:
// Create controller and start capture
const controller = new CaptureController();
videoElem.srcObject = await navigator.mediaDevices.getDisplayMedia({
controller,
});
// ...
startForwarding();
Diese Funktion ruft die Methode forwardWheel()
auf, indem sie ihr einen Verweis auf das <video>
-Element übergibt, in dem der erfasste Stream angezeigt wird:
async function startForwarding() {
try {
await controller.forwardWheel(videoElem);
} catch (e) {
console.log(e);
}
}
Dies führt dazu, dass die wheel
-Ereignisse, die auf dem referenzierten Element ausgelöst werden, an die erfasste Anzeigefläche weitergeleitet werden, sodass die erfassende Anwendung diese scrollen kann.
Spezifikationen
Specification |
---|
Captured Surface Control # dom-capturecontroller-forwardwheel |