visualviewport
Read the visual viewport's size, offset, and scale, and listen for its resize/scroll events, via the Visual Viewport API.
Import: @rtorcato/browser-common/visualviewport
๐ MDN: VisualViewport ยท ๐ caniuse: visualviewport
Browser supportโ
| API | Chrome | Edge | Firefox | Safari | iOS Safari | Baseline |
|---|---|---|---|---|---|---|
VisualViewport | โ 61+ | โ 79+ | โ 91+ | โ 13+ | โ 13+ | Widely available |
โ
supported ยท โ partial ยท โ not supported ยท [n] see note. Generated from MDN browser-compat-data and web-features. caniuse: VisualViewport
Exampleโ
import {
isVisualViewportAvailable,
getVisualViewportInfo,
onVisualViewportChange,
} from '@rtorcato/browser-common/visualviewport'
if (isVisualViewportAvailable()) {
const info = getVisualViewportInfo()
console.log(info?.scale)
const off = onVisualViewportChange(() => updateLayout())
// later:
off()
}
Exportsโ
isVisualViewportAvailable()โ feature checkgetVisualViewportInfo()โ current{ offsetLeft, offsetTop, width, height, scale }, ornullonVisualViewportChange(callback)โ subscribe to resize and scroll; returns an unsubscribe function
See the API reference for full signatures.