PerformanceResourceTiming - дозволяє пошук та аналізу щодо завантаження ресурсів веб-сторінки.
PerformanceResourceTiming об'єкт містить властивості з часом виконання подій в поточному документі щодо завантаження ресурсів (зображення, CSS, JavaScript і т.д.) для веб-сторінки.
var ob=performance.getEntriesByType('resource');
alert(ob[0]);
var prt=performance.getEntriesByType('resource');
var s='';
for(var i=0; i<prt.length;i++){
s+='\n\n'+i+'\n';
s+=' name: '+prt[i].name+'\n';
s+=' entryType: '+prt[i].entryType+'\n';
s+=' startTime: '+prt[i].startTime+'\n';
s+=' duration: '+prt[i].duration+'\n';
s+=' initiatorType: '+prt[i].initiatorType+'\n';
s+=' nextHopProtocol: '+prt[i].nextHopProtocol+'\n';
s+=' workerStart: '+prt[i].workerStart+'\n';
s+=' redirectStart: '+prt[i].redirectStart+'\n';
s+=' redirectEnd: '+prt[i].redirectEnd;
s+=' fetchStart: '+prt[i].fetchStart;
s+=' domainLookupStart: '+prt[i].domainLookupStart;
s+=' domainLookupEnd: '+prt[i].domainLookupEnd;
s+=' secureConnectionStart: '+prt[i].secureConnectionStart;
s+=' requestStart: '+prt[i].requestStart;
s+=' responseStart: '+prt[i].responseStart;
s+=' responseEnd: '+prt[i].responseEnd;
s+=' transferSize: '+prt[i].transferSize;
s+=' encodedBodySize: '+prt[i].encodedBodySize;
s+=' decodedBodySize: '+prt[i].decodedBodySize;
s+=' serverTiming: '+prt[i].serverTiming;
}
document.getElementById('result').innerHTML=s;
performance.clearResourceTimings(); //очищаємо буфер продуктивності
var img=document.createElement('img');
img.src='/dani/test.png';
img.onload=function(){
var mas=performance.getEntriesByType('resource'); //отримуємо масив ресурсів
//зображення є першим в масиві так як буфер був попередньо очищений
alert('url: '+mas[0].name+', час завантаження:'+mas[0].duration+' мс');
}
var resources=performance.getEntriesByType('resource'), max=0;
for(var i=0;i<resources.length;i++){
if(resources[i].duration<resources[max].duration) max=i;
}
alert('Найшвидше завантажився ресурс: "'+resources[max].name+'", тривалість завантаження: '+resources[max].duration+' мс');