UNPKG

video-ad-sdk

Version:

VAST/VPAID SDK that allows video ads to be played on top of any player

37 lines (36 loc) 1.24 kB
import { linearEvents } from '../../../../tracker'; const fullscreenElement = () => document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement || null; const { fullscreen, exitFullscreen, playerCollapse, playerExpand } = linearEvents; export const onFullscreenChange = ({ videoElement }, callback) => { const fullscreenEventNames = [ 'webkitfullscreenchange', 'mozfullscreenchange', 'fullscreenchange', 'MSFullscreenChange' ]; let fullscreenOn = false; const fullscreenchangeHandler = () => { if (fullscreenElement() === videoElement) { fullscreenOn = true; callback(playerExpand); callback(fullscreen); } else if (fullscreenOn) { fullscreenOn = false; callback(playerCollapse); callback(exitFullscreen); } }; for (const event of fullscreenEventNames) { document.addEventListener(event, fullscreenchangeHandler); } return () => { for (const event of fullscreenEventNames) { document.removeEventListener(event, fullscreenchangeHandler); } }; };