new PerformanceObserver((list) => { list.getEntries().forEach(console.log); }).observe({ type: 'paint', buffered: true }); performance.getEntriesByType('paint').forEach(console.log); Estos dos fragmentos registran entradas de pintura coincidentes en Chrome, Firefox, Edge y Opera. Sin embargo, en Safari 15.3, el enfoque PerformanceObserver no registra nada (no se invoca la devolución de llamada), pero el enfoque getEntriesByType sí registra la entrada "first-contentful-paint". Parece que Safari admite PerformanceObserver.observe y admite la API PerformancePaintTiming . ¿Por qué el enfoque PerformanceObserver anterior no funciona en Safari?
Si hay un error en Safari, ¿cree que está bien usar getEntriesByTypes sin un búfer de PerformanceObserver? Gracias.
Esto se está trabajando en Safari. Siga este error: para verlo: https://bugs.webkit.org/show_bug.cgi?id=225305
Si hay un error en Safari, ¿cree que está bien usar getEntriesByTypes sin un búfer de PerformanceObserver? Gracias.
El problema de no tener la opción de almacenamiento en buffered es que puede perder las observaciones que ocurrieron antes de registrar al observador. Vea aquí donde noté inconsistencia con respecto a si los eventos se midieron o no: https://github.com/GoogleChrome/web-vitals/pull/139