CaptureController: zoomlevelchange event

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The zoomlevelchange event of the CaptureController interface is fired when the captured display surface's zoom level changes.

Specifically, this occurs when:

  • The increaseZoomLevel(), decreaseZoomLevel(), or resetZoomLevel() methods are called on a controller that is actively controlling a captured display surface.
  • The user changes the zoom level in the captured surface.
  • The user changes the captured display surface to another one that has a different zoom level.

Syntax

Use the event name in methods like addEventListener(), or set an event handler property.

js
addEventListener("zoomlevelchange", (event) => { })

onzoomlevelchange = (event) => { }

Event type

A generic Event.

Examples

Basic zoomlevelchange usage

When a captured display surface's zoom level changes, a zoomlevelchange event fires on the controller, which can be used to run an event handler such as the following. This writes the updated zoom level to an output element of some kind.

js
// Create controller and start capture
const controller = new CaptureController();
videoElem.srcObject = await navigator.mediaDevices.getDisplayMedia({
  controller,
});

// ...

controller.addEventListener(
  "zoomlevelchange",
  () => (outputElem.textContent = `${controller.zoomLevel}%`),
);

See Using the Captured Surface Control API for a full working example.

Specifications

Specification
Captured Surface Control
# dom-capturecontroller-onzoomlevelchange

Browser compatibility

desktop mobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
zoomlevelchange event
Experimental
Chrome – Full support
Chrome 136 (Release date: 2025-04-29)
footnote Full support
Edge – Full support
Edge 136 (Release date: 2025-05-01)
footnote Full support
Firefox – No support
Firefox
footnote No support
Opera – Full support
Opera 121 (Release date: 2025-08-27)
footnote Full support
Safari – No support
Safari
footnote No support
Chrome Android – No support
Chrome Android
footnote No support
Firefox for Android – No support
Firefox for Android
footnote No support
Opera Android – No support
Opera Android
footnote No support
Safari on iOS – No support
Safari on iOS
footnote No support
Samsung Internet – No support
Samsung Internet
footnote No support
WebView Android – No support
WebView Android
footnote No support
WebView on iOS – No support
WebView on iOS
footnote No support

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
Experimental. Expect behavior to change in the future.

See also