CaptureController: decreaseZoomLevel()-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 decreaseZoomLevel()
-Methode der CaptureController
-Schnittstelle verringert die Zoomstufe der erfassten Bildschirmoberfläche um eine Stufe.
Die decreaseZoomLevel()
-Methode muss über transiente Aktivierung aufgerufen werden. Darüber hinaus wird der Benutzer um Erlaubnis gebeten, Tabs zu teilen, wenn der Bildschirm erstmals erfasst wird. Wenn der Benutzer die Erlaubnis verweigert, kann die Zoomstufe auch mit transienten Aktivierung nicht geändert werden.
Syntax
decreaseZoomLevel()
Parameter
Keine.
Rückgabewert
Ausnahmen
InvalidStateError
DOMException
-
Wird ausgelöst, wenn:
- Die erfasste Bildschirmoberfläche bereits auf der minimal unterstützten Zoomstufe ist.
- Ein Versuch unternommen wird,
decreaseZoomLevel()
ohne transiente Aktivierung aufzurufen.
NotAllowedError
DOMException
-
Wird ausgelöst, wenn:
- Die
captured-surface-control
Berechtigungsrichtlinie der Seite nicht zulässt, dass die Seite die Captured Surface Control API verwendet. - Die Erlaubnis zur Erfassung der Bildschirmoberfläche ausdrücklich vom Benutzer verweigert wird.
- Die
Beispiele
Grundlegende decreaseZoomLevel()
-Verwendung
Der folgende Codeausschnitt fügt einem Button einen Event-Listener hinzu, sodass beim Klicken die Funktion decreaseZoom()
aufgerufen wird. Diese ruft wiederum die decreaseZoomLevel()
-Methode auf, wodurch die erfasste Oberfläche herausgezoomt wird.
// Create controller and start capture
const controller = new CaptureController();
videoElem.srcObject = await navigator.mediaDevices.getDisplayMedia({
controller,
});
// ...
decBtn.addEventListener("click", decreaseZoom);
async function decreaseZoom() {
try {
await controller.decreaseZoomLevel();
} catch (e) {
console.log(e);
}
}
Es ist generell eine bewährte Praxis, decreaseZoomLevel()
innerhalb eines try...catch
-Blocks aufzurufen, da die Zoomstufe asynchron von einer anderen als der Anwendung geändert werden könnte, was zu einem Fehler führen könnte. Beispielsweise könnte der Benutzer direkt mit der erfassten Oberfläche interagieren, um herein- oder herauszuzoomen.
Sehen Sie sich Using the Captured Surface Control API für ein vollständiges funktionierendes Beispiel an.
Spezifikationen
Specification |
---|
Captured Surface Control # dom-capturecontroller-decreasezoomlevel |