Sayfa yüklendiğinde bir JavaScript işlevini nasıl çağırabilirim?

Geleneksel olarak, sayfa yüklendikten sonra bir JavaScript işlevini çağırmak için, gövdeye biraz JavaScript içeren (genellikle yalnızca bir işlev çağıran) bir onload niteliği eklersiniz

<body onload="foo()">

Sayfa yüklendiğinde, sayfanın bazı bölümlerini sunucudan gelen verilerle dinamik olarak doldurmak için bazı JavaScript kodları çalıştırmak istiyorum. Bir nitelik ekleyebileceğim body öğesi olmayan JSP parçaları kullandığım için onload niteliğini kullanamıyorum.

Yükleme sırasında bir JavaScript işlevini çağırmanın başka bir yolu var mı? Çok aşina olmadığım için jQuery kullanmamayı tercih ederim.

Çözüm

Eğer onload metodunun parametre almasını istiyorsanız, buna benzer bir şey yapabilirsiniz:

window.onload = function() {
  yourFunction(param1, param2);
};

Bu, onload'u anonim bir işleve bağlar; bu işlev çağrıldığında, verdiğiniz parametrelerle istediğiniz işlevi çalıştırır. Ve tabii ki, anonim fonksiyonun içinden birden fazla fonksiyon çalıştırabilirsiniz.

Yorumlar (4)

Orijinal sorunuz net değildi, Kevin'in düzenlemesinin/yorumunun doğru olduğunu varsayarsak, bu ilk seçenek geçerli değildir

Tipik seçenekler onload olayını kullanmaktır:


....

Javascript'inizi gövdenin en sonuna da yerleştirebilirsiniz; doküman tamamlanana kadar çalışmaya başlamayacaktır.


  ...
  <script type="text/javascript">
    SomeFunction();
  </script>

Bir başka seçenek de, bunu kendiliğinden yapan bir JS çerçevesi kullanmayı düşünmektir:

// jQuery
$(document).ready( function () {
  SomeFunction();
});
Yorumlar (3)
function yourfunction() { /* do stuff on page load */ }

window.onload = yourfunction;

Ya da isterseniz jQuery ile:

$(function(){
   yourfunction();
});

Sayfa yüklenirken birden fazla fonksiyon çağırmak istiyorsanız, daha fazla bilgi için bu makaleye göz atın:

Yorumlar (5)