J'ai un morceau de code qui peut être simplifié à ceci:IE échoue, lors de l'appel des fonctions de javascript externe?
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) ;
Dans tous les navigateurs sauf IE, ce que vous exécute attendez - fonctions de travail somehost.com/scripts/FooFunctions.js comme prévu .
Dans Internet Explorer, cela échoue.
Googling cela semble difficile. J'ai trouvé le poste occasionnel avec le même problème, mais pas de solution.
(Il y a une raison valable que le fichier externe doit être inclus de javascript cette façon, et que le AMPe ne peut pas avoir un <script src="http://somehost.com/scripts/FooFunctions.js">
inséré dedans.)
Pour être clair, la question est: Comment puis-je faire fonctionner le morceau de code ci-dessus dans Internet Explorer comme dans FireFox?
Pas tout à fait sûr, mais cela fonctionne probablement parce que l'inclusion de script par l'injection DOM (ce que vous faites ici), ne parallélise pas les téléchargements de script - ils sont chargés en série. Par conséquent, il est garanti qu'il est disponible lorsque vous atteignez l'alerte(); –
En fait, j'ai déjà essayé cette méthode, et il ne semble pas pour résoudre le problème, mais je vais essayer à nouveau. – mozboz