Navigation Timing APIë ì¹ ì¬ì´í¸ì ì±ë¥ì 측ì íë ë° ì¬ì©í ì ìë ë°ì´í°ë¥¼ ì ê³µí©ëë¤. ê°ì 목ì ì ì¬ì©íë ë¤ë¥¸ JavaScript ê¸°ë° ë©ì»¤ëì¦ê³¼ ë¤ë¥´ê² ì´ APIë ë ì ì©íê³ ì íí ì¢ ë¨ ê°(end-to-end) ë기 ìê°(latency)ì ì ê³µí ì ììµëë¤.
ë¤ì ìì ë ì§ê°íë(perceived) ë¡ë© ìê°ì 측ì íë ë²ì ë³´ì¬ì¤ëë¤.
function onLoad() {
var now = new Date().getTime();
var page_load_time = now - performance.timing.navigationStart;
console.log("User-perceived page loading time: " + page_load_time);
}
PerformanceTiming
ì¸í°íì´ì¤ë¡ ì ê·¼í ì ìë ë°ë¦¬ ì´ ë¨ìë¡ ì£¼ì´ì§ 측ì ë ì´ë²¤í¸ê° ë§ì´ ììµëë¤. ë°ìíë ììë¡ ë ì´ë²¤í¸ 목ë¡ì
ëë¤.
window.performance.navigation
ê°ì²´ë 리ë¤ì´ë í¸(redirect), ì/ë¤ ë²í¼, í¹ì ë³´íµì URL ë¡ë©ì´ ì´ë¤ íì´ì§ ë¡ë를 ì¼ì¼í¤ëì§(trigger) ìë ë° ì¬ì©í ì ìë ë ìì±ì ì ì¥í©ëë¤.
window.performance.navigation.type:
ìì ê° ì¤ëªTYPE_NAVIGATENEXT
0 ìë 목ë¡ì TYPE_RELOADê³¼ TYPE_BACK_FORWARDê° ì¬ì©íë ê² ì¸ì, ë§í¬ í´ë¦í기, ì¬ì©ì ìì´ì í¸(UA) 주ì ë°ì URL ì
ë ¥í기, í¼ ì ì¡, ì¤í¬ë¦½í¸ ì°ì°ì¼ë¡ ì´ê¸°ííê¸°ë¡ ììí ë´ë¹ê²ì´ì
. TYPE_RELOAD
1 리ë¡ë(reload) ì°ì° í¹ì location.reload() ë©ìë를 íµí ë´ë¹ê²ì´ì
. TYPE_BACK_FORWARD
2 íì¤í 리 ìí(traversal) ì°ì°ì íµí ë´ë¹ê²ì´ì
TYPE_UNDEFINED
255 ì ê°ì¼ë¡ ì ìëì§ ìë ì´ë í ë´ë¹ê²ì´ì
íì
.
window.performance.navigation.redirectCount
ë ë§ì§ë§ íì´ì§ì ëë¬í ëê¹ì§, ë§ì¼ ìë¤ë©´ ëª ë²ì 리ë¤ì´ë ì
ì´ ì¼ì´ë¬ëì§ë¥¼ ëíë
ëë¤.
Navigation Timing APIë XHRë¡ ìë²ì ë³´ë¸ í´ë¼ì´ì¸í¸ 쪽 ì±ë¥ ë°ì´í°ë¥¼ 모ì ë¿ ìëë¼ ì´ì íì´ì§ ì¸ë¡ë(unload) ìê°, ëë©ì¸ 룩ì (look up) ìê°, window.onload ì ì²´ ìê° ë± ë¤ë¥¸ ë°©ë²ì¼ë¡ 측ì í기 ë§¤ì° ì´ë ¤ì´ ë°ì´í°ë¥¼ 측ì íë ë° ì¬ì©í ì ììµëë¤.
ìì ì´ë¤ íì´ì§ë¥¼ ë¡ë©íë ë° íìí ì ì²´ ìê° ê³ì°í기.
var perfData = window.performance.timing;
var pageLoadTime = perfData.loadEventEnd - perfData.navigationStart;
ìì² ìëµ ìê° ê³ì°í기.
var connectTime = perfData.responseEnd - perfData.requestStart;
ë§í¬
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4