2010-05-21 19 views
8

Başka bir dosyanın varlığına dayanan bir dış javascript dosyası var. Zaten dahil değilse ben, JavaScript (veya jQuery) kullanarak otomatik olarak bu dosyayı içerebilir nasılOtomatik dahil javascript dosyası dahil değilse

(bu dış dosyasındaki bilinen fonksiyonun varlığına dayanarak test edebilecek)

Düzenleme: Artık dosya içeriyor ama her şeyin üzerine yazıyor! JavaScript dosyası bu belirli değişkeni tanımlar (veya işlevi) Eğer typeof that_variable kontrol ederek varlığını kontrol edebilirsiniz eğer tüm önerilen yöntemler

cevap

12

Eh, şimdiye kadar ileri sürülen denedi, daha sonra JavaScript gerekirse dosyası yüklemek .

if (typeof swfobject == "undefined") { 
    var e = document.createElement("script"); 
    e.src = "http://ajax.googleapis.com/ajax/libs/swfobject/2/swfobject.js"; 
    e.type = "text/javascript"; 
    document.getElementsByTagName("head")[0].appendChild(e); 
} 
+0

Sadece bir not ... Ben jQuery'nin belge hazır fonksiyonundaki bu denenmiş ve sonra benim dosyasında işlevini çağırarak çalıştı ve oldu: Bir örnek, burada sayfadaki mevcut değil swfobject kütüphane eğer yük nasıl hala tanımlanmamış. Bunu farklı bir şekilde yapmak bitti. –

+0

@RegionalC: Dinamik olarak yüklenmiş komut dosyasının yüklendiği _after_ işlevini çağırmalısınız. Çoğu tarayıcıda (http://pieisgood.org/test/script-link-events/), dinamik olarak oluşturulmuş komut dosyası öğelerine ('e.onload = function() {}') bir onload olayı atayabilirsiniz. İşlevinizi bu olay işleyicisinden arayabilirsin. On (aptal) IE 6/7/8 'onreadystatechange' olayını kullanabilirsiniz. –

İlgili konular