JavaScript Kodları Neden Sayfanın Altına Yazılmalı ?

Murat Döner

Kilopat
Katılım
24 Şubat 2016
Mesajlar
396
Çözümler
3
Yer
Amasya
Daha fazla  
Cinsiyet
Erkek
Meslek
Bilişim Teknolojileri
Merhaba, JavaScript kodlarının neden head kısmı yerine sayfanın altına yazılması tercih ediliyor ? Eğer detaylı bir sebebi varsa anlatabilir misiniz ? Ben şahsen şöyle düşündüm, sayfanın daha hızlı açılması için önce sayfa sonra JavaScript kodları yükleniyor olabilir mi ?
 
Merhaba, JavaScript kodlarının neden head kısmı yerine sayfanın altına yazılması tercih ediliyor ? Eğer detaylı bir sebebi varsa anlatabilir misiniz ? Ben şahsen şöyle düşündüm, sayfanın daha hızlı açılması için önce sayfa sonra JavaScript kodları yükleniyor olabilir mi ?
Bildiğim kadarıyla sayfanın başına yazılınca sayfa yüklenmeden JavaScript yüklenmeye çalışılıyor ve bu da "document.getElementById" gibi komutların çalışmayıp hataya düşmesine neden oluyor.
Sadece jQuery kullanılırken
JavaScript:
$(function(){
    // kodlar
})
şeklinde bir kullanım olunca sayfa başına yazılıyor. Veya normal JavaScript'te "window.onLoad" değişkenine fonksiyon atanıp işlem yapılınca sayfa başına yazılıyor.
Onun dışında sayfa sonuna yazılmazsa genellikle kod düzgün çalışmıyor.
 
Aslında hoca sordu bu soruyu bize neden en alta yazılır diye o yüzden bilgi almak istedim 🙂
İlgili dosyalar yüklendikten sonra çalışsın diye.
Mesela Jquery i sayfanızın başında dahil ettiniz, kullanabilmeniz için dahil ettiğiniz alandan sonra yazmanız gerekiyor.
Önce kodu yazıp daha sonra dahil edebilir misiniz?
-Evet ama bunun için
JavaScript:
 $(document).ready( () =>{
//kodlar buraya
});
kullanmanız gerekiyor. Anlaşılmıştır zaten, document ready olduğunda yani sayfa tamamen yüklendiğinde çalışsın anlamına geliyor.
Bu gibi kurallar dışında çok da özel bir sebebi yok.
 
Bildiğim kadarıyla sayfanın başına yazılınca sayfa yüklenmeden JavaScript yüklenmeye çalışılıyor ve bu da "document.getElementById" gibi komutların çalışmayıp hataya düşmesine neden oluyor.
Sadece jQuery kullanılırken
JavaScript:
$(function(){
    // kodlar
})
şeklinde bir kullanım olunca sayfa başına yazılıyor. Veya normal JavaScript'te "window.onLoad" değişkenine fonksiyon atanıp işlem yapılınca sayfa başına yazılıyor.
Onun dışında sayfa sonuna yazılmazsa genellikle kod düzgün çalışmıyor.
İlgili dosyalar yüklendikten sonra çalışsın diye.
Mesela Jquery i sayfanızın başında dahil ettiniz, kullanabilmeniz için dahil ettiğiniz alandan sonra yazmanız gerekiyor.
Önce kodu yazıp daha sonra dahil edebilir misiniz?
-Evet ama bunun için
JavaScript:
 $(document).ready( () =>{
//kodlar buraya
});
kullanmanız gerekiyor. Anlaşılmıştır zaten, document ready olduğunda yani sayfa tamamen yüklendiğinde çalışsın anlamına geliyor.
Bu gibi kurallar dışında çok da özel bir sebebi yok.

İkinize de çok teşekkür ederim :)
 
Üstteki yorumlar doğru olsada ana sebebi bu değil çünkü zaten iyi bir yazılımda dom yüklenmesini beklersin. Esas sebebi senin düşündüğün gibi sayfa yüklenirken üstten aşağıya doğru render yapmaya başlıyor ve js css vs harici linkler ve onların içindeki linkler yüklenmeden diğer öğeleri renderlamaya başlamıyor. En yaygın yöntem genellikle öncelikle sayfanın içeriğini falan göster js arkaplanda yüklenir gibi bir mantıktır. Hatta bazen cssi footerde yüklerler ve img leride lazy load yane sadece görünüm alanına girdikten sonra yüklerler. Google sayfa hızı ölçme aracına bakarsan zaten seni bu tarz işlemlere doğru yönlendirdiğini görürsün.
 
kısaca açıklamak gerekirse head tagları arasına yazarsan sayfa yüklenmeden javascript kodlarının çalışmayı bitirmesi gerekir ; fakat farzedelim bir ajax işlemine ihtiyaç duydun tabiki yazabilirsin.
 
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Geri
Yukarı