Utilise window.onload = function() { ... } plutôt que $(document).ready(...).
En effet, ce dernier (propre à jQuery d'ailleurs) va se lancer quand le document sera chargé sans se soucier si les autres ressources (images, script, etc) le sont. Tandis que window.onload est déclenché à la fin de tout ce qui est à charger dans la page.
Pour optimiser le chargement de tes scripts, je te conseille de te pencher du coté de async ou encore defer. Je ne pense pas que les mettre à la fin soit une si bonne idée que ça.
Par exemple, ceci bloque le rendu de la page le temps de charger le script
<script src="script.js"></script>
tandis que ce code,
1 2 3 4 5 6 7 8
| <script type="text/javascript">
(function() {
var po = document.createElement('script');
po.async = true; po.src = 'script.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(po, s);
})();
</script> |
ce qui équivaut à <script src="script.js" async></script>. En effet, le script sera chargé puis exécuté en parallèle du chargement de la page. C'est plus propre que le mettre à la fin du document, selon moi.
Enfin, le defer permettrait de charger le script en parallèle mais l'exécuter quand le document est prêt.
Partager