11 Kasım 2007 Pazar

Ajax ile oluşturulan sayfaya javascript eklemek

Ajax ile dinamik olarak oluşturduğunuz sayfaya (bir div içine aldığnız form vs) dinamik olarak javascript eklemek istiyorsanız yapmanız gereken şudur :

var headID = document.getElementsByTagName("head")[0];
var newScript = document.createElement('script');
newScript.type = 'text/javascript';
newScript.src = 'javascript_dosyasi.js';
headID.appendChild(newScript);

yukardaki kodu ajax ile alınan sayfanın içinde <script></script> blokları arasına koyun.
Bundan sonra javascript_dosyasi.js içinde yer alan fonksiyonlar dinamik olarak oluşturduğunuz nesnelerden çağırabileceksiniz.
Böyle bir şeye ne gerek var derseniz, örneğin bir ajax dialog kutusu yazdınız ve içine form gömeceksiniz ve form için bir sürü javascript fonksiyonu gereklidir, siz bu fonksiyonları içerecek javascript dosyasını önceden alabilirsiniz, eğer dialog kutusu her zaman çağrılmayacak ise gereksiz yere javascript dosyasını indirmiş olursunuz.
Javascript dosyasını dialog kutusu açıldığı zaman indirmek daha mantıklıdır işte bu noktada javascript fonksiyonlarının tanınmama ihtimali var bunun üstesinden gelmek için sayfanın head bloğuna dışarıdan alınacak javascript dosyasını dinamik olarak ekleriz.
Dialog kutusu ajax ile otomatik olarak oluşturulurken yukardaki kodları da çağırırsanız javascript dosyanız sayfaya eklenmiş olur ve sayfadaki her nesne o javascript dosyasındaki fonkiyonlara vs lere erişebilir.

3 yorum:

Adsız dedi ki...

Kardeş Eline sağlık...
Beni Büyük bir dertten kurtardin...
İyi Çalışmalar

Adsız dedi ki...

Çok teşekkürler, Ajax ile çekilen veriye müdahale edilemez diyen çoğu kişiye karşı kapak niteliğinde olmuş. İşime yaradı, denedim çalışıyor. (:

Adsız dedi ki...

Tayfun Yüğrük çok teşekkür ederim, çok faydalı bir makale olmuş, tamda aradığım buydu sağolasın, başarılar.