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

js
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

Ein Promise, das mit undefined erfüllt wird.

Ausnahmen

InvalidStateError DOMException

Wird ausgelöst, wenn:

  • Der erfassende MediaStream, der durch den ursprünglichen Aufruf von MediaDevices.getDisplayMedia() zurückgegeben wurde, nicht mehr erfasst, zum Beispiel weil die zugehörigen MediaStreamTrack-Objekte mit stop() 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.
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.
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:

js
// 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:

js
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

Browser-Kompatibilität

Siehe auch