Tengo muchas secuencias de comandos y estilos en la etiqueta principal y, a veces, el cuerpo se carga antes de que se carguen (las secuencias de comandos y los estilos), lo que provoca algunos errores, como que el contenido no se carga correctamente. Así es como se ve mi cabeza:
<head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet"> <link rel="stylesheet" href="w3.css"> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script> <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@48,500,1,0" /> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js" integrity="sha512-894YE6QWD5I59HgZOGReFYm4dnWc1Qt5NtvYSaNcOP+u1T9qYdvdihz0PPSiiqn/+/3e7Jo4EaG7TubfWGUrMQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script> <!--<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">--> <script src="index.js"></script> <title>NCA</title> </head> Ahora no puedo hacer $(document).ready(function () { ... }); como hay muchas funciones en mi archivo index.js y también quiero forzar la carga del cuerpo después de cargar la cabeza ... ¿Hay alguna forma de hacerlo?
Editar: sé que el navegador muestra el cuerpo después de que se carga el script en la cabeza, pero aún no sé por qué, a veces el cuerpo se muestra antes que el script, y causa muchos errores... Tampoco tengo ninguna función setTimeOut...
Tuve un problema similar que resolví usando defer después del script src, ejemplo:
<script src="demo_defer.js" defer></script>Es una buena práctica colocar las etiquetas del script después de la etiqueta del cuerpo, para asegurarse de que el cuerpo sea lo primero que se cargue, no funciona de esa manera con el css porque desea que el css se cargue primero.