
Para hacerlo simple:
[Contenido de carga] <= Acá hay una ruedita "spinner infinito" que indica que está cargando la pagina.
[Contenido de la pagina] <= Acá va a estar el contenido de la pagina.
¿La pagina está lista?
(Sí): El [Contenido de carga] se oculta y se muestra [Contenido de la pagina].
En el [Contenido de la pagina] esta el input con autofocus="true"
<div> // Elemento superior
<input type="text" autofocus="true">
</div>
Si el elemento superior tiene un display:none; y luego le digo que tenga display:block; con un ... timeout por ejemplo o en este caso cuando cargue la pagina, cuando este lista (window.ready)
el autofocus ya no lo toma y esto lo pueden probar si quieren,
Código
<style type="text/css"> #elemento { display: none; } </style> <div id="elemento"> <input type="text" name="" autofocus="true"> </div> <script type="text/javascript"> setTimeout(function() { document.getElementById('elemento').style.display = 'flex'; }, 1000); </script>