Skip to main content

fullscreen

Enter, exit, and observe fullscreen mode via the Fullscreen API.

Import: @rtorcato/browser-common/fullscreen

๐Ÿ“– MDN: Fullscreen API ยท ๐Ÿ“Š caniuse: fullscreen

enterFullscreen must be called from a user gesture handler (e.g. a click listener) โ€” browsers reject fullscreen requests made outside one.

Browser supportโ€‹

APIChromeEdgeFirefoxSafariiOS SafariBaseline
Element.requestFullscreenโœ… 71+โœ… 79+โœ… 64+โœ… 16.4+โ— partial 16.4+ [1,2]Limited
Document.exitFullscreenโœ… 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: Element.requestFullscreen ยท Document.exitFullscreen

Exampleโ€‹

import {
enterFullscreen,
exitFullscreen,
isFullscreen,
onFullscreenChange,
} from '@rtorcato/browser-common/fullscreen'

button.addEventListener('click', () => enterFullscreen(video))

const off = onFullscreenChange(() => {
console.log(isFullscreen() ? 'entered fullscreen' : 'exited fullscreen')
})

off()

Exportsโ€‹

  • enterFullscreen(element?) โ€” requests fullscreen for element (default: document.documentElement)
  • exitFullscreen() โ€” exits fullscreen if active
  • isFullscreen() โ€” true if currently in fullscreen
  • onFullscreenChange(callback) โ€” listens for fullscreen change; returns an unsubscribe function

See the API reference for full signatures.