Document: visibilitychange ì´ë²¤í¸
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since 2021ë 4ì.
visibilitychange ì´ë²¤í¸ë ë¸ë¼ì°ì íì ì½í
ì¸ ê° ë³´ì¬ì§ê±°ë ì¨ê²¨ì§ ë 문ììì ë°ìí©ëë¤.
ì´ ì´ë²¤í¸ë ì·¨ìí ì ììµëë¤.
구문
ì´ë²¤í¸ ì´ë¦ì addEventListener() ë±ì ë©ìëì ì ê³µíê±°ë, ì´ë²¤í¸ ì²ë¦¬ê¸° ìì±ì ì¬ì©íì¸ì.
addEventListener("visibilitychange", (event) => {});
onvisibilitychange = (event) => {};
ì´ë²¤í¸ ì í
ì¼ë° Event.
ì¬ì© ì¼ë
ì´ ì´ë²¤í¸ ìì²´ë¡ë 문ìì ìë¡ì´ ë
¸ì¶ ìí를 ììë¼ ì ììµëë¤. 문ìì visibilityState ìì±ì ì¬ì©íì¸ì.
ì¬ì©ìê° ìë¡ì´ íì´ì§ë¡ ì´ëíê±°ë, íì ë°ê¾¸ê±°ë, íì ë«ê±°ë, ë¸ë¼ì°ì 를 ë«ê±°ë ìµìííê±°ë, 모ë°ì¼ 기기ììë ë¤ë¥¸ ì±ì¼ë¡ ì ííë ê²½ì°ìë visibilityStateê° hiddenì¼ë¡ ë°ëê³ ì´ ì´ë²¤í¸ê° ë°ìí©ëë¤. hiddenì¼ë¡ì ì íì íì´ì§ìì ìì ì ì¼ë¡ ê´ì¸¡í ì ìë ë§ì§ë§ ì´ë²¤í¸ë¯ë¡ ê°ë°ìë ì´ ìì ì ì¬ì©ì ì¸ì
ì ë§ì§ë§ì¼ë¡ ì·¨ê¸íì¬ (ë¶ì ì ë³´ ì ì¡ ë±) ë§ë¬´ë¦¬ ìì
ì ì¤íí´ì¼ í©ëë¤.
hidden ì íì íì´ì§ì UI ê°±ì ì ì¤ë¨íê³ , ì¬ì©ìê° ë°±ê·¸ë¼ì´ëììë ìíì§ ìì ìì
ë¤ì ì¤ì§í ëë¡ë ì í©í ìì ì
ëë¤.
ìì
>hidden ì í ì ìì ì¼ìì¤ì§í기
ì´ ìì ë 문ìê° ë³´ì´ê² ëë©´ ìì í¸ëì ì¬ìíê³ , 문ì를 ë ë³¼ ì ìì¼ë©´ ì¼ìì¤ì§í©ëë¤.
document.addEventListener("visibilitychange", () => {
if (document.visibilityState === "visible") {
backgroundMusic.play();
} else {
backgroundMusic.pause();
}
});
hidden ì í ì ì¸ì ì¢ ë£ ë¶ì ì ë³´ ì ì¡í기
ì´ ìì ë hiddenì¼ë¡ì ì íì ì¬ì©ì ì¸ì
ì ë§ì§ë§ì¼ë¡ ì·¨ê¸íì¬, Navigator.sendBeacon() API를 ì¬ì©í´ ì ì í ë¶ì ì 보를 ì ì¡í©ëë¤.
document.onvisibilitychange = () => {
if (document.visibilityState === "hidden") {
navigator.sendBeacon("/log", analyticsData);
}
};
ëª ì¸ì
| Specification |
|---|
| HTML > # event-visibilitychange > |
| HTML > # handler-onvisibilitychange > |
ë¸ë¼ì°ì í¸íì±
ê°ì´ 보기
- Page Visibility API
Document.visibilityState- Don't lose user and app state, use Page Visibilityììë ì
beforeunload/unloadëìvisibilitychange를 ì¬ì©í´ì¼ íëì§ ìì¸í ì¤ëª í©ëë¤. - Page Lifecycle APIììë ì¹ ì í리ì¼ì´ì ìì íì´ì§ì ìëª ì£¼ê¸° ëìì ì²ë¦¬íë ìµì ì ë°©ë²ë¤ì ì ìí©ëë¤.