11
votes

Pourquoi ne puis-je pas ajouter une chaîne contenant une balise de script à innerhtml dans IE

J'essaie de faire ce qui suit (j'utilise la bibliothèque de prototypes):

var div = document.createElement('div');
div.innerHTML = '<script src="somescript.js"></script>';
$('banner').insert(div);


0 commentaires

5 Réponses :


1
votes

Avez-vous essayé d'ajouter en ligne JS au lieu de charger un fichier .js? J'ai fait cela dans le passé et ça a fonctionné bien pour moi. Je ne sais pas si cela fonctionnerait toujours avec les derniers navigateurs / misses de sécurité.

hth.


0 commentaires

6
votes

Vous pouvez essayer de faire quelque chose comme ça à la place:

..
div.innerHTML = "<script src=\"somescript.js\"></script>";
..


5 commentaires

Je préfère aussi le 1er 1. Il est beaucoup plus propre et réutilisable. Ils étaient juste une suggestion "try-it" s'il ne veut pas utiliser la 1ère approche :)


J'ai un sens vague que le problème de l'OP est en réalité une fonctionnalité de sécurité au travail et votre première réponse ici est la solution conventionnelle (et non bloquante!).


D'accord, c'est ainsi que je le ferais normalement, mais comme je l'ai dit, un script de fournisseur externe qui fait: document.write ('