app/utils/pageVisibility.ts
Rama main · réplica de lectura del repositorio original.
let hidden = "hidden";
let visibilityChange = "visibilitychange";
if ("hidden" in document) {
hidden = "hidden";
visibilityChange = "visibilitychange";
} else if ("mozHidden" in document) {
// Firefox up to v17
hidden = "mozHidden";
visibilityChange = "mozvisibilitychange";
} else if ("webkitHidden" in document) {
// Chrome up to v32, Android up to v4.4, Blackberry up to v10
hidden = "webkitHidden";
visibilityChange = "webkitvisibilitychange";
}
/**
* Returns the name of the visibility change event supported by the current
* browser.
*
* @returns the visibility change event name.
*/
export function getVisibilityListener(): string {
return visibilityChange;
}
/**
* Checks whether the page is currently visible to the user.
*
* @returns true if the page is visible.
*/
export function getPageVisible(): boolean {
return !document[hidden as keyof Document];
}