2009-05-15 6 views
0

Je veux surmonter un vilain problème qui se présente hier lors d'une démonstration à un client. Nous utilisons jquery, en le chargeant à partir de google api. Mais hier, notre FAI a commencé à causer quelques problèmes, et n'a pas correctement chargé jq.js. Donc, ce que je veux vraiment, c'est charger un fichier local à partir du serveur si google api a un comportement extrange (pas que cela arrive souvent, mais au moins faire des démos locales nous ne serons plus lésés).Comment charger un fichier js avec javascript

Je sais que <script type="txt/javascript" src="googleapi"> somejs </script> exécute somejs lorsque le fichier dans src ne se charge pas, mais ne sait pas comment charger le fichier là-bas.

Merci à l'avance

Répondre

1

l'intérieur vous pouvez mettre les lignes suivantes:

var localScript = document.createElement("script"); 
localScript.type = "text/javascript"; 
localScript.src = "localJQ.js"; 
document.body.appendChild(localScript); 
+0

Mais comme sadesh247 a signalé qu'il y a d'autres scripts qui en dépendent, ils ne fonctionneront pas comme prévu. Je vais marquer cela comme la réponse tout en regardant comment réparer comme j'ai besoin. Merci! –

0

Edit: j'étais un peu nerveux. La solution donnée par peirix est correcte. Je vais juste utiliser son code, pour ne pas laisser la mauvaise solution polluer cette zone. Vous pouvez faire

var localScript = document.createElement("script"); 
localScript.type = "text/javascript"; 
localScript.src = "localJQ.js"; 
document.body.appendChild(localScript); 

pour charger dynamiquement le javascript.

Toutefois, même dans ce cas, les conditions de course sont susceptibles de se produire si des scripts de votre page dépendent de ce script. Utiliser avec précaution.

Cette présentation - Even Faster Websites - développe davantage de techniques de chargement de fichiers externes via javascript.

0

enseignement à faire des grimaces peut-être, mais pourquoi ne pas simplement utiliser une copie locale sur la machine de démonstration toujours?

0

Ceci ne répond pas directement à votre question, mais le créateur de JQuery, John Resig, a un intéressant blog post à propos de l'exécution du contenu de la balise de script lorsqu'il existe également un attribut src.

Questions connexes