UNPKG

sono

Version:

A simple yet powerful JavaScript library for working with Web Audio

54 lines (47 loc) 1.39 kB
'use strict'; exports.__esModule = true; exports.default = pageVisibility; function pageVisibility(onHidden, onShown) { var enabled = false; var hidden = null; var visibilityChange = null; if (typeof document.hidden !== 'undefined') { hidden = 'hidden'; visibilityChange = 'visibilitychange'; } else if (typeof document.mozHidden !== 'undefined') { hidden = 'mozHidden'; visibilityChange = 'mozvisibilitychange'; } else if (typeof document.msHidden !== 'undefined') { hidden = 'msHidden'; visibilityChange = 'msvisibilitychange'; } else if (typeof document.webkitHidden !== 'undefined') { hidden = 'webkitHidden'; visibilityChange = 'webkitvisibilitychange'; } function onChange() { if (document[hidden]) { onHidden(); } else { onShown(); } } function enable(value) { enabled = value; if (enabled) { document.addEventListener(visibilityChange, onChange, false); } else { document.removeEventListener(visibilityChange, onChange); } } if (typeof visibilityChange !== 'undefined') { enable(true); } return { get enabled() { return enabled; }, set enabled(value) { enable(value); } }; }