Bunun için basitleştirilmiş olabilir kod parçası vardır: IE dışındaki tüm tarayıcılardaIE, harici javascript işlevlerini çağırırken başarısız oluyor?
var s='' ;
s += "<"+"script type=\"text/javascript\" src=\"http://somehost.com/scripts/FooFunctions.js\">\n";
s += "<"+"/script>" ;
s += "<"+"script type=\"text/javascript\">\n";
s += "FooFunction(42, 'i love cats');\n";
s += "<"+"/script>" ;
document.write(s) ;
, bu beklediğiniz gibi çalıştırır - somehost.com/scripts/FooFunctions.js işten fonksiyonları beklendiği gibi .
Internet Explorer'da bu başarısız olur. Googling bu zor görünüyor. Ara sıra post ile aynı problemi buldum ama çözüm yok.
(Orada dış dosya javascript bu şekilde gelen dahil edilmesi gerektiğini geçerli bir nedendir ve pgae bir <script src="http://somehost.com/scripts/FooFunctions.js">
bunun takılı olması olamayacağını.)
Açık olmak gerekirse, soru: Yukarıdaki kod parçasını Internet Explorer'da olduğu gibi nasıl yapabilirim? FireFox?
Tam olarak emin değil, ancak bu muhtemelen DOM iğnesi tarafından komut dosyası eklenmesi (burada ne yapıyorsunuz) komut dosyası yüklemelerini paralelleştirmediği için çalışır - bunlar seri olarak yüklenir. Bu nedenle, uyarıya() ulaştığınızda kullanılabilir olduğu garanti edilir. –
Aslında bu yöntemi zaten denedim ve sorunu çözmek için görünmüyordu, ancak tekrar deneyeceğim. – mozboz