Document.createElement("script")

[Résolu]
Signaler
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
-
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
-
Bonjour à tou[te]s ,

    le script ci dessous fonctionne parfaitement avec FF et ses copains,
       pas avec IE ( ajouter dans le innerHTML ne lui plait guère ... )
   
<html>
    <head>
        <script>
            var scr = document.createElement("script");
            scr.type = "text/javascript";
            scr.innerHTML = "alert ('exemple');";      // IE n'aime pas
            document.getElementsByTagName("head")[0].appendChild(scr);           
        </script>
    </head>
   
        test
   
</html>

    je fais une grosse bourde ?
    si vous voyez comment faire avec IE....

    merci d'avance

<hr />    Bul     [mon Site]     [M'écrire]     [Laisser une adresse Mail, en évitant les spams]

15 réponses

Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
18
dans ce cas utiliser plutôt text que innerHTML
scr.text = "alert
('exemple');";
;O)
Messages postés
943
Date d'inscription
mardi 14 novembre 2006
Statut
Membre
Dernière intervention
7 août 2009
3
Bonjour cher ami Bul,
tu parles de string donc pourquoi pas essayé avec :
src.appendChild(document.createTextNode("alert('exemple');"));

Je pense pas que ça fonctionne mais au cas où je dis toujours...

<hr size="2" width="100%" />
Maelo ou Elo --> Mon blog

Si quelqu'un vous dit : "Je me tue à vous le répéter", laissez-le mourir. (Jacques Prévert)
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
18
Bonjour,
essaies avec scr.innerHTML = eval("alert ('exemple');");
;O)
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
salut petoleTeam,

    j'avais essayé,
        ça exécute, bien entendu, mais ça plante toujours dans l'ajout
    "on" va bien y arriver...
       ( le but ce n'est pas d'exécuter, tu l'as bien compris, mais
          d'ajouter au javascript des "choses" dont je disposerais en string )
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
t'as bien raison maelob,
    c'est en essayant des choses qu'on va y parvenir...

    ici, le libellé de l'erreur avec IE est différent, mais ça plante toujours
          avec FF, c'est ok

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
@petoelTeam
                scr.text="alert('exemple');";
       ok, sur FF, pas de plantage mais rien ne se passe IE
                pas d'erreurs certes, mais pas d'actions non plus !
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Messages postés
943
Date d'inscription
mardi 14 novembre 2006
Statut
Membre
Dernière intervention
7 août 2009
3
J'ai rien d'autre à te proposer :-( désolée...
Et ce que petoleTeam a proposé?
<hr size="2" width="100%" />
Maelo ou Elo --> Mon blog

Si quelqu'un vous dit : "Je me tue à vous le répéter", laissez-le mourir. (Jacques Prévert)
Messages postés
943
Date d'inscription
mardi 14 novembre 2006
Statut
Membre
Dernière intervention
7 août 2009
3
Bon j'ai ma réponse lol.

<hr size="2" width="100%" />
Maelo ou Elo --> Mon blog

Si quelqu'un vous dit : "Je me tue à vous le répéter", laissez-le mourir. (Jacques Prévert)
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
@maelob...  tant pis....

@petoleTeam
    si c'est une function... ça baigne !

<html>
    <head>
        <script>
            var scr = document.createElement("script");
            scr.type = "text/javascript";
                scr.text="function msg(){alert('exemple');}";
            document.getElementsByTagName("head")[0].appendChild(scr);          
        </script>
    </head>
   
       
   
</html>

    donc        réellement pas loin pour tout colle...

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
et même d'ailleurs :
    scr.text="function msg(){alert('exemple');} msg();";    !?!
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
18
Bizarre sur IE6 ça baigne que cela soit une variable et/ou une fonction...
sans plus de test je me hasarderais à dire que c'est
<script type="text/javascript"> qu'il faut mettre ?
Mais alors pas convaincu du tout...



;O)
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
ah ben non.....
    j'avais testé (?) , et essayé (?) avant de poser la question !!!
    ... mais probablement très très mal !

<html>
    <head>
        <script>
            var scr = document.createElement("script");
            scr.type = "text/javascript";
            scr.text="alert('exemple');";
            document.getElementsByTagName("head")[0].appendChild(scr);          
        </script>
    </head>
   
   
</html>

    ça baigne parfaitement !

    merci à vous !

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
bon...
    dans mon cas, ça va me simplifier les choses ( au niveau écriture )

j'aurais peut-être (?) un exemple concret d'utilisation à mettre ici
    encore merci.

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Messages postés
1788
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
24 juillet 2021
132
<html>
    <head>
        <script>
            var scr = document.createElement("script");
            scr.type = "text/javascript";
            innerHTML = alert ('exemple');      // IE aime les autres aussi
            document.getElementsByTagName("head")[0].appendChild(scr);           
        </script>
    </head>
   
        test
   
</html>
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
oui, oui kazma... ça baigne ainsi...
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]