@@ -26,6 +26,7 @@ var css, next, opts
26
26
error : "#f12" ,
27
27
wrap : true ,
28
28
menus : true ,
29
+ navInfo : true ,
29
30
unescape : false ,
30
31
sizeLimit : 10485760 ,
31
32
indent : " " ,
@@ -80,6 +81,7 @@ function readConf() {
80
81
'div.r' + rand + '{margin-left:8px}'
81
82
) +
82
83
'i.c' , '+.d' , '+[data-l]:before{display:none}' +
84
+ '.p' , '{color:' + opts . info + ';margin:0 0 5px 0}' +
83
85
'.x' , '{border:1px solid ' + opts . info + ';padding:1em}' +
84
86
'a.l' , '{text-decoration:none}' +
85
87
'a.l' , ':hover,a.l' , ':focus{text-decoration:underline}' +
@@ -393,6 +395,13 @@ function func(rand, opts, op, msg) {
393
395
link . target = "_blank"
394
396
}
395
397
398
+ if ( to === body && opts . navInfo ) try {
399
+ var nav = performance . getEntriesByType ( "navigation" ) [ 0 ]
400
+ , endNames = { request : "responseStart" }
401
+ , t = "domainLookup,connect,request,response" . split ( "," ) . map ( function ( n ) { return ( nav [ endNames [ n ] || n + "End" ] - nav [ n + "Start" ] ) + "ms" } )
402
+ el ( "div" , node , "p" ) . textContent = `// Status ${ nav . responseStatus } (dns:${ t [ 0 ] } ,tcp:${ t [ 1 ] } ,req:${ t [ 2 ] } ,res:${ t [ 3 ] } )`
403
+ if ( nav . serverTiming && nav . serverTiming . length ) el ( "div" , node , "p" ) . textContent = "// serverTiming: " + JSON . stringify ( nav . serverTiming )
404
+ } catch ( e ) { }
396
405
try {
397
406
window . data = str ? JSON . parse ( str ) : Error ( "Empty JSON" )
398
407
} catch ( e ) {
0 commit comments