JavaScript kodunuzun web sayfasının tamamen yüklendikten sonra çalışmasını sağlamak, hataları önlemek ve sorunsuz işlevselliği garanti altına almak için çok önemlidir. Zamansız yürütme, henüz oluşturulmamış öğeleri manipüle etmeye çalışmak gibi sorunlara yol açarak beklenmedik davranışlara veya çökmelere neden olabilir. Bu makale, betiklerinizin doğru zamanda çalışmasını sağlamak için birkaç etkili yöntemi ayrıntılarıyla açıklamaktadır.
İçindekiler
- Betiği Gövdenin Sonuna Yerleştirme
window
Nesnesindeonload
Olayını Kullanmabody
Öğesindeonload
Olayını Kullanma- Harici JavaScript Dosyasında
onload
Kullanma - Modern Yaklaşımlar:
DOMContentLoaded
Betiği Gövdenin Sonuna Yerleştirme
En basit yöntem, <script>
etiketinizi HTML <body>
öğesinin sonuna yerleştirmektir. Bu, tarayıcının betiği çalıştırmadan önce tüm sayfayı ayrıştırıp oluşturmasını sağlar.
<!DOCTYPE html>
<html>
<head>
<title>Web Sayfam</title>
</head>
<body>
<h1>Merhaba, Dünya!</h1>
<p>Bu bir paragraftır.</p>
<script>
console.log("Betik sayfa yüklendikten sonra çalıştırıldı.");
// DOM manipülasyonu burada
</script>
</body>
</html>
Bu, küçük betikler için yeterlidir. Daha büyük projeler için daha gelişmiş yöntemler tercih edilir.
window
Nesnesinde onload
Olayını Kullanma
onload
olayı, tüm kaynaklar dahil olmak üzere tüm sayfa yüklendiğinde tetiklenir. window
nesnesine bir olay dinleyicisi ekleyin:
<script>
window.onload = function() {
console.log("Sayfa tamamen yüklendi");
// Kodunuz burada
};
</script>
Bu, kodunuzun her şey hazır olduktan sonra çalışmasını garanti eder.
body
Öğesinde onload
Olayını Kullanma
Alternatif olarak, olay dinleyicisini doğrudan <body>
öğesine ekleyin. Bu, bazı durumlarda biraz daha hızlı olabilir:
<body onload="myFunction()">
<script>
function myFunction() {
console.log("Sayfa gövdesi yüklendi");
// Kodunuz burada
}
</script>
</body>
Harici JavaScript Dosyasında onload
Kullanma
Daha büyük projeler için harici JavaScript dosyaları kullanın. onload
olayı aynı şekilde çalışır:
myScript.js:
window.onload = function() {
console.log("Betik sayfa yüklendikten sonra çalıştırıldı.");
// Kodunuz burada
};
index.html:
<script src="myScript.js"></script>
<script>
etiketini <head>
veya <body>
içine yerleştirin; onload
olayı zamanlamayı yönetir.
Modern Yaklaşımlar: DOMContentLoaded
Performansı iyileştirmek için DOMContentLoaded
olayını kullanmayı düşünün. Bu olay, stil sayfalarının, resimlerin ve alt çerçevelerin yüklenmesini beklemeden HTML belgesi tamamen yüklenip ayrıştırıldığında tetiklenir. Bu genellikle onload
‘dan daha hızlıdır.
document.addEventListener('DOMContentLoaded', function() {
console.log('DOM tamamen yüklendi');
// Kodunuz burada
});
Projenizin boyutuna ve karmaşıklığında en uygun yöntemi seçin. Basit projeler için <script>
etiketini <body>
öğesinin sonuna yerleştirmek yeterli olabilir. Daha büyük projeler veya eşzamansız işlemler için onload
veya DOMContentLoaded
daha sağlam ve güvenilir çözümler sunar. Her zaman temiz, iyi organize edilmiş koda öncelik verin.