11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,
j'ai essayé de supprimer la 2eme balise <script> mais ça ne fonctionne pas.
pourtant document.getElementsByTagName('script').length me renvoie bien 2
(nombre attendu)

<html><head>
<script language="JavaScript" type="text/javascript">
<!--
function suppr_script() {
var obj = document.getElementsByTagName('script')[1];
document.body.removeChild(obj);
}
//-->
</script>

</head><body onload="nbScript()">
</body>
<script type="text/javascript" src="script_a_supprimer.js"></script>
</html>



j'ai aussi essayé de mettre document.getElementsByTagName('script') dans un array et de faire un pop mais sans succès.

Comment faire?
Merci.

Cassy
Modifié par cassy (29 Oct 2006 - 17:37)
salut,

la fonction suppr_script est exécutée à la fin du chargement de la page puisqu'il me donne le bon nombre de balise script

a écrit :
Si c'est pour que le script en question ne soit pas exécuté, ça ne marchera pas.


peux tu expliquer?
cassy a écrit :
Bonjour,
j'ai essayé de supprimer la 2eme balise <script> mais ça ne fonctionne pas.
pourtant document.getElementsByTagName('script').length me renvoie bien


Petite parenthèse : vu la position du script, ça ressemble à un script automatiquement insérer par un hébergeur. Si c'est bien le cas, normalement le contrat t'interdit de l'enlever
Est-tu sûr que le script en question est bien dans le body et pas dans l'head ?

Sinon, décider de supprimer un élément <script> pour ne pas que le script s'exécute ne sert à rien : au moment où tu l'enlèveras, il aura déjà été chargé en mémoire et rien ne te permet de l'en enlever.
Eventuellement, tu peux effacer les variables et fonctions crées par le script manuellement. Par exemple si tu as un script :

var foo = 123;
function bar () { alert(foo); }


Tu peux faire :

foo = bar = undefined;


Maintenant si tu es chez un hébergeur gratuit qui te mets de la pub, tu n'as normalement pas le droit de l'enlever, je suis d'accord avec l'avis précédent là-dessus.