Evet, temelde yaptığınız doğrudur, ancak JavaScript'in birçok durumda senkronize edildiğini unutmayın, bu nedenle DOM'unuz yüklenmeden önce kodu çalıştırırsanız, bunu çözmenin birkaç yolu vardır:
1) DOM'un tamamen yüklü olup olmadığını kontrol edin , sonra ne istersen yapın, örneğin DOMContentLoaded dinleyebilirsiniz :
<script>
document.addEventListener("DOMContentLoaded", function(event) {
console.log("DOM fully loaded and parsed");
});
</script>
2) Çok yaygın bir yol, komut dosyası etiketini document
(gövde etiketinden sonra) en altına eklemektir :
<html>
<head>
</head>
<body>
</body>
<script src="/bundle.js"></script>
</html>
3) window.onload
Tüm sayfa yüklendiğinde tetiklenen (img vb.)
window.addEventListener("load", function() {
console.log("Everything is loaded");
});
4) DOM hazır document.onload
olduğunda tetiklenir :
document.addEventListener("load", function() {
console.log("DOM is ready");
});
DOM'un hazır olup olmadığını kontrol etmek için daha fazla seçenek var , ancak kısa yanıt, DOM'nizin her durumda hazır olduğundan emin olmadan önce herhangi bir komut dosyası KULLANMAYIN ...
JavaScript, DOM öğeleriyle birlikte çalışıyor ve kullanılamıyorsa, null döndürecek , tüm uygulamayı kırabilir ... bu yüzden her zaman sizden önce JavaScript'inizi çalıştırmaya tamamen hazır olduğunuzdan emin olun ...