Document.createElement("script")

Résolu
cs_bultez Messages postés 13616 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 3 juin 2008 à 10:52
cs_bultez Messages postés 13616 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 3 juin 2008 à 14:37
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]
A voir également:

15 réponses

PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 16
3 juin 2008 à 12:16
dans ce cas utiliser plutôt text que innerHTML
scr.text = "alert
('exemple');";
;O)
3
maelob Messages postés 943 Date d'inscription mardi 14 novembre 2006 Statut Membre Dernière intervention 7 août 2009 3
3 juin 2008 à 12:33
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)
3
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 16
3 juin 2008 à 11:13
Bonjour,
essaies avec scr.innerHTML = eval("alert ('exemple');");
;O)
0
cs_bultez Messages postés 13616 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
3 juin 2008 à 11:33
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]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_bultez Messages postés 13616 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
3 juin 2008 à 12:45
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]
0
cs_bultez Messages postés 13616 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
3 juin 2008 à 12:49
@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]
0
maelob Messages postés 943 Date d'inscription mardi 14 novembre 2006 Statut Membre Dernière intervention 7 août 2009 3
3 juin 2008 à 12:50
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)
0
maelob Messages postés 943 Date d'inscription mardi 14 novembre 2006 Statut Membre Dernière intervention 7 août 2009 3
3 juin 2008 à 12:51
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)
0
cs_bultez Messages postés 13616 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
3 juin 2008 à 13:04
@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]
0
cs_bultez Messages postés 13616 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
3 juin 2008 à 13:10
et même d'ailleurs :
    scr.text="function msg(){alert('exemple');} msg();";    !?!
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 16
3 juin 2008 à 13:13
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)
0
cs_bultez Messages postés 13616 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
3 juin 2008 à 13:16
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]
0
cs_bultez Messages postés 13616 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
3 juin 2008 à 13:19
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]
0
@karamel Messages postés 1827 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 20 mai 2023 146
3 juin 2008 à 14:21
<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>
0
cs_bultez Messages postés 13616 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
3 juin 2008 à 14:37
oui, oui kazma... ça baigne ainsi...
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0