PerformanceEntry.duration
Baseline
Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis septembre 2017.
La propriété duration renvoie un timestamp qui correspond à la durée de l'entrée de performance.
Note : Cette fonctionnalité est disponible via les Web Workers.
La valeur retournée par cette propriété dépend du type de l'entrée de performance :
- «
frame» - retourne untimestampindiquant la différence entre lestartTimede deux frames successives. - «
mark» - retourne "0" (une marque n'a pas de durée). - «
measure» - retourne letimestampqui correspond à la durée de la mesure. - «
navigation» - retourne letimestampqui est respectivement la différence entre les propriétésPerformanceNavigationTiming.loadEventEndetPerformanceEntry.startTime. - «
resource» - renvoie la différence entre les deuxtimestampsresponseEnd(le moment de la fin de la réponse) de la ressource etstartTime(le point de départ).
Cette propriété est en Lecture seule.
Syntaxe
entry.duration;
Valeur de retour
Un objet DOMHighResTimeStamp représentant la durée de l'entrée de performance. Si le concept de durée ne s'applique pas à une mesure de performance particulière, le navigateur peut choisir de renvoyer une durée de 0.
Note :
Si l'entrée de performance a un entryType "resource" (c'est-à-dire que l'entrée est un objet PerformanceResourceTiming), cette propriété renvoie la différence entre les timestamps PerformanceEntry.responseEnd et PerformanceEntry.startTime.
Exemple
L'exemple suivant montre l'utilisation de la propriété duration.
function run_PerformanceEntry() {
console.log("Support de PerformanceEntry ...");
if (performance.mark === undefined) {
console.log("... performance.mark N'est pas pris en charge");
return;
}
// Créer quelques entrées de performance via la méthode mark()
performance.mark("Begin");
do_work(50000);
performance.mark("End");
// Utilise getEntries() pour itérer à travers chaque entrée.
let p = performance.getEntries();
for (let i = 0; i < p.length; i++) {
console.log("Entry[" + i + "]");
check_PerformanceEntry(p[i]);
}
}
function check_PerformanceEntry(obj) {
let properties = ["name", "entryType", "startTime", "duration"];
let methods = ["toJSON"];
for (let i = 0; i < properties.length; i++) {
// check each property
let supported = properties[i] in obj;
if (supported)
console.log("..." + properties[i] + " = " + obj[properties[i]]);
else console.log("..." + properties[i] + " = N'est pas pris en charge");
}
for (let i = 0; i < methods.length; i++) {
// check each method
let supported = typeof obj[methods[i]] == "function";
if (supported) {
let js = obj[methods[i]]();
console.log("..." + methods[i] + "() = " + JSON.stringify(js));
} else {
console.log("..." + methods[i] + " = N'est pas pris en charge");
}
}
}
Spécifications
| Specification |
|---|
| Performance Timeline> # dom-performanceentry-duration> |
Compatibilité des navigateurs
Chargement…