(Tenga en cuenta que esto no se trata de crear una herramienta aleatoria que me dé un número mejor; estoy diagnosticando una página de destino que está teniendo un rendimiento terrible y, según la evaluación de los signos vitales de la web, los usuarios reales tardan casi 10 segundos en llegar a la página interactiva). !)
No creo que esté usando mucho JavaScript, pero aparentemente lo que estoy usando es bastante lento (¡Google Tag Manager y Stripe agregan entre 500 y 700 ms cada uno!).
Me las arreglé para obtener https://pagespeed.web.dev/ en los 80 superiores / 90 inferiores para dispositivos móviles, pero lo hice retrasando todo JavaScript. Ahora solo cargo 1 secuencia de comandos, y esa secuencia de comandos carga las otras secuencias de comandos después de 5000 ms o la primera interacción del usuario (verifico mouseover , keydown , touchmove o touchstart ).
Hasta aquí todo bien. Sin embargo, hay algunos scripts que me gustaría cargar antes (en realidad, lo antes posible). He intentado
window.onload = loadEarlyScripts();
document.body.addEventListener('load', loadEarlyScripts);
y
document.body.addEventListener('readystatechange', () => { if ( document.readystate === 'complete' ) loadEarlyScripts; });Pero todos ellos reducen mi rendimiento de PageSpeed de 85-95 a ~ 45. Por lo tanto, los eventos de interacción del usuario son lo suficientemente buenos, pero ninguno lo es. ¿Cuál es el primer evento al que puedo apuntar que hará feliz a PageSpeed?