sono
Version:
A simple yet powerful JavaScript library for working with Web Audio
54 lines (47 loc) • 1.39 kB
JavaScript
;
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);
}
};
}