Skip to main content

screen

Screen and viewport dimensions, orientation, and Fullscreen API helpers.

Import: @rtorcato/browser-common/screen

๐Ÿ“– MDN: Screen ยท ๐Ÿ“Š caniuse: fullscreen

Browser supportโ€‹

APIChromeEdgeFirefoxSafariiOS SafariBaseline
Screenโœ… 1+โœ… 12+โœ… 1+โœ… 1+โœ… 1+Widely available
Element.requestFullscreenโœ… 71+โœ… 79+โœ… 64+โœ… 16.4+โ— partial 16.4+ [1,2]Limited
  1. iOS Safari: Only available on iPad, not on iPhone.
  2. iOS Safari: Shows an overlay button which can not be disabled. Swiping down exits fullscreen mode, making it unsuitable for some use cases like games.

โœ… supported ยท โ— partial ยท โŒ not supported ยท [n] see note. Generated from MDN browser-compat-data and web-features. caniuse: Screen ยท Element.requestFullscreen

Exampleโ€‹

import {
getScreenWidth,
getViewportWidth,
isLandscape,
enterFullscreen,
exitFullscreen,
isFullscreen,
} from '@rtorcato/browser-common/screen'

const w = getScreenWidth()
if (isLandscape()) renderWide()

button.addEventListener('click', () => {
if (isFullscreen()) {
exitFullscreen()
} else {
enterFullscreen()
}
})

Exportsโ€‹

  • getScreenWidth() โ€” screen width in pixels, or undefined outside a browser
  • getScreenHeight() โ€” screen height in pixels, or undefined outside a browser
  • getViewportWidth() โ€” viewport width (window.innerWidth), or undefined outside a browser
  • getViewportHeight() โ€” viewport height (window.innerHeight), or undefined outside a browser
  • isLandscape() โ€” true if viewport is wider than tall
  • isPortrait() โ€” true if viewport is taller than or equal to wide
  • enterFullscreen(element?) โ€” requests fullscreen for an element (defaults to document.documentElement)
  • exitFullscreen() โ€” exits fullscreen if active
  • isFullscreen() โ€” true if the document currently has a fullscreen element

See the API reference for full signatures.