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โ
| API | Chrome | Edge | Firefox | Safari | iOS Safari | Baseline |
|---|---|---|---|---|---|---|
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 |
- iOS Safari: Only available on iPad, not on iPhone.
- 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 forelement(default:document.documentElement)exitFullscreen()โ exits fullscreen if activeisFullscreen()โ true if currently in fullscreenonFullscreenChange(callback)โ listens for fullscreen change; returns an unsubscribe function
See the API reference for full signatures.