2010-12-15 5 views
1

Excuses si le texte suivant semble un peu étrange. Je travaille dans un cadre hérité qui ne permet pas l'accès aux modèles de base, donc ne peut pas modifier l'ordre de chargement des fichiers. Ce que j'essaie de faire est de charger un fichier JS dans le HEAD du document après le SCRIPt final dans ledit document HEAD.Ajout de référence de fichier JavaScript après la dernière référence de fichier JavaScript codée en dur dans le HEAD

J'utilise actuellement ce qui suit sans succès:

var head = document.getElementsByTagName("head")[0]; 

var headScripts = head.getElementsByTagName("script"); 

var headScriptsLength = headScripts.length - 1; 

var headScripts = headScripts[headScriptsLength]; 

var newScript = document.createElement('script'); 
newScript.type = 'text/javascript'; 
newScript.src = '/Global/ICIS/Scripts/global.js'; 
headScripts.appendChild(newScript); 

Il ajoute la référence à global.js directement après le bloc qui le crée.

Répondre

2

Il vaudrait mieux ajouter votre script simplement à la tête, et ainsi il deviendra votre dernier script.

var head = document.getElementsByTagName("head")[0]; 
var script = document.createElement('script'); 
script.type = 'text/javascript'; 
script.src = '/Global/ICIS/Scripts/global.js'; 
head.appendChild(script); 
+0

Pour une raison qui produit le résultat suivant: \t \t Il ne s'ajoute donc pas avant le mais directement après le bloc de script. – RyanP13

+0

Cela fonctionne, car appendChild ajoute par définition le nouvel élément à la fin. Vérifiez cette page d'exemple: http://jsbin.com/usare4/3/ - il ajoute jQuery à la tête, et a un marqueur '

Questions connexes