• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

210
Views
¿Cómo usar la API `PerformanceNavigationTiming` para obtener el tiempo de carga de la página?

Estoy tratando de usar la API PerformanceNavigationTiming para generar una métrica de carga de página.

El documento API de MDN vinculado anteriormente dice que PerformanceEntry.duration debería darme lo que necesito porque:

[r]egresa una marca de tiempo que es la diferencia entre las propiedades PerformanceNavigationTiming.loadEventEnd y PerformanceEntry.startTime.

Sin embargo, cuando compruebo esta propiedad, obtengo simplemente 0 . Estoy accediendo a esta API desde un enlace de React que ejecuta una función useEffect que espera el evento de carga de la window y luego verifica la API de la siguiente manera:

 export const useReportPageLoadTime = () => { useEffect(() => { const reportTime = () => { let navPerformance: PerformanceEntry navPerformance = window.performance.getEntriesByType('navigation')[0] console.log({ duration: navPerformance.duration, blob: navPerformance.toJSON() }) } if (document.readyState === 'complete') { reportTime() return null } else { window.addEventListener('load', reportTime) return () => window.removeEventListener('load', reportTime) } }, []) }

Como puede ver allí, también llamo a toJSON en la entrada de rendimiento y, de hecho, muestra que los valores sobre los cuales la duration ( startTime y loadEventEnd ) también son 0 :

imagen de datos

¿Alguien sabe por qué obtengo este valor?

over 3 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error