Gli script di blocco esterni obbligano il browser ad attendere, prima che la pagina possa essere resa?

Vedi: https://developers.google.com/speed/docs/insights/BlockingJS

Stanno dicendo:

Gli script di blocco esterni impongono al browser di attendere il recupero del codice JavaScript, che può aggiungere uno o più roundtrip della rete prima che la pagina possa essere visualizzata.

Perché Google sta dicendo qualcosa del genere? È così confuso per le persone. In realtà stanno dicendo:

Gli script di blocco esterni obbligano il browser ad attendere prima che la pagina possa essere resa.

NON stanno dicendo:

Gli script di blocco esterni impongono al browser di attendere prima che venga resa A (SPECIFICA) PARTE DELLA pagina.

Prendiamo questo esempio:

INDEX.HTML

    Test   Line 1
alert('I could also put here for example some more html.'); Line 2
Now the HTML parser is almost done!

script.js

 // Synchronous delay of 30 seconds var timeWhile = new Date().getTime(); while( new Date().getTime() - timeWhile < 30000 ); 

Questo è il test: https://external-blocking-scripts-2.glitch.me/

Il risultato è che un browser sta mostrando (il rendering) già contenuto, prima che venga recuperato lo “script di blocco esterno”.

Allora perché Google lo sta dicendo così? Secondo me “una pagina” è qualcosa di completamente diverso da “una parte della pagina”. Le persone prenderebbero davvero decisioni sbagliate in termini di “velocità della pagina” se la vedessero così. E sto postando questo, perché in passato ero anche uno di loro. E continuo a vedere la confusione intorno a me.