Div.innerHTML="<script></script>" [Résolu]

cs_hakim0 123 Messages postés mercredi 27 août 2003Date d'inscription 12 août 2008 Dernière intervention - 12 avril 2007 à 12:42 - Dernière réponse : ptitjib 7 Messages postés samedi 9 mai 2009Date d'inscription 12 mai 2009 Dernière intervention
- 23 févr. 2009 à 17:16
j'ai un problem avec div.innerHTML, avec cette exemple ca marche:
div.innerHTML= " All is ok.! ";
 Mais avec l'exemple suivant ne ca marche pas
div.innerHTML ="<script language="javascript">alert('No')</script>";
Es que la div.innerHTML n'accept pas le javascript ou quoi???.
Merci pour une explecation de ce problem

[s]schow/s[?]
Afficher la suite 

15 réponses

Répondre au sujet
cs_roro06 732 Messages postés jeudi 2 janvier 2003Date d'inscription 29 octobre 2007 Dernière intervention - 13 avril 2007 à 12:24
+3
Utile
Bonjour




une piste :
window.onload=function()
    {
    document.getElementById("div1").innerHTML "<script language='javascript'>alert('No')<\/script>";
    for (var i=0; i<document.getElementById("div1").getElementsByTagName("script").length; i++)
        {
        eval(document.getElementById("div1").getElementsByTagName("script")[i].innerHTML);
        }
    }

ça marche sur un navigateur normal. Pour les autres, il faut peut-être voir la solution de Fremmy, mais elle fonctionne pas chez moi

Cordialement
Roro webDev
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_roro06
cs_hakim0 123 Messages postés mercredi 27 août 2003Date d'inscription 12 août 2008 Dernière intervention - 13 avril 2007 à 13:16
+1
Utile
Merci ca marche mtn, mais avec une petite modification:
comme ca ne ca amarche pas:
document.getElementById("div1").innerHTML="<script language='javascript'>alert('No')<\/script>";
    for (var i=0; i<document.getElementById("div1").getElementsByTagName("script").length; i++)
        {
        eval(document.getElementById("div1").getElementsByTagName("script")[i].innerHTML);
        }
///////mais une petite point resourdre le problem:
document.getElementById("div1").innerHTML=".<script language='javascript'>alert('No')<\/script>";
    for (var i=0; i<document.getElementById("div1").getElementsByTagName("script").length; i++)
        {
        eval(document.getElementById("div1").getElementsByTagName("script")[i].innerHTML);
        }

///et oui avec le point ca marche bonne je ne sais pas aussi pk sans point ne marche pas et avec point ca marche
Commenter la réponse de cs_hakim0
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 12 avril 2007 à 12:52
0
Utile
Bonjour,
    si, si... mais il ne l'exécute pas....    c'est ça ton problème ?
    et eviter les mots réservés par le Html/Javascript ( div ici ! )

    div1.innerHTML="euh<script type='text/javascript'>alert('No')<\/script>";




<hr />



Cordialement            Bul     [mon Site]     [M'écrire]



<hr />
Commenter la réponse de cs_bultez
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 12 avril 2007 à 13:01
0
Utile
question supplémentaire : qule est le but ?
<hr />


Cordialement            Bul     [mon Site]     [M'écrire]



<hr />
Commenter la réponse de cs_bultez
FREMYCOMPANY 278 Messages postés jeudi 12 janvier 2006Date d'inscription 22 décembre 2008 Dernière intervention - 12 avril 2007 à 18:18
0
Utile
Lol, div n'est pas un mot-clé réservé...

En fait j'ai une source qui évite le problème, mais pour l'instant elle sur un autre site... Il serait temps que je la rajouter sur codes-sources aussi...

Je le fais de ce pas !

Pourquoi notre PC fait-il toujours ce qu'on lui demande ... et pas ce qu'on veut ???
Commenter la réponse de FREMYCOMPANY
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 13 avril 2007 à 06:55
0
Utile
salut Fremy,
oui,oui, div n'est pas un mot réservé...
mais c'est une bonne habitude à prendre, car dans certains autres cas...  
<hr />


Cordialement                Bul     [mon Site]     [M'écrire]



<hr />
Commenter la réponse de cs_bultez
cs_hakim0 123 Messages postés mercredi 27 août 2003Date d'inscription 12 août 2008 Dernière intervention - 13 avril 2007 à 11:12
0
Utile
le problem il rest, le javascript ne s'execute pas,...

[s]schow/s[?]
Commenter la réponse de cs_hakim0
cs_roro06 732 Messages postés jeudi 2 janvier 2003Date d'inscription 29 octobre 2007 Dernière intervention - 13 avril 2007 à 11:14
0
Utile
Bonjour




question : pourquoi mettre du javascript dans un div ?

Cordialement
Roro webDev
Commenter la réponse de cs_roro06
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 13 avril 2007 à 11:30
0
Utile
roro a dit >>pourquoi mettre du javascript dans un div ?
et c'était le sens de ma question : >>

quel est le but ?
    parce que franchement... l'intérêt... j'ai des doutes.




>>le problem il rest,
après avoir appliqué ce qu'a proposé Fremy ? étonnant ?
    tu as tenu compte des restrictions annoncées ?




<hr />



Cordialement            Bul     [mon Site]     [M'écrire]



<hr />
Commenter la réponse de cs_bultez
cs_hakim0 123 Messages postés mercredi 27 août 2003Date d'inscription 12 août 2008 Dernière intervention - 13 avril 2007 à 11:43
0
Utile
oui j'ai tapper le code que tu as fait, mais le problem il rest il n y'as pas d'execution du javascript, si je remplit le div avec du code html par exemeple:test test2
, ca marche mais pour le javascript ne s'execute pas....
51635 bultez :>>tu as tester ton code??
le but est :
le div contient de javascript par exemple
<script src ="http://monami.com/js.js"

></script>

apre l'execution de script je veut le r'executer, sans charger la page a nouveaux, comme je le dit le fichier javascript qui s'execut c'est pas a moi c'est le script de mon amis sur son site. une modification de sont script n'est pas possible.
Commenter la réponse de cs_hakim0
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 13 avril 2007 à 12:09
0
Utile
>>oui j'ai tapper le code que tu as fait,
    et pourquoi faire ??? il ne sera pas interprété !
    je te parlais de la solution de Fremy, qui fonctionne,
       mais quelle utilité ? quel but ? pourquoi faire ça ?

>>mais pour le javascript ne s'execute pas.

    ben oui... c'est ce qu'on dit !

>>apre l'execution de script je veut le r'executer, sans charger la page
a nouveaux,
>>comme je le dit le fichier javascript qui s'execut c'est
pas a moi c'est le script de
>>mon amis sur son site. une modification de sont script n'est pas possible.
    euh ? on peut être plus clair ?
    un script se déroule cote client, pas sur le site.
    doux mélange de je ne sais quoi... recharger la page ? c'est si on appelle un
       script langage sur le serveur ( php, asp, ruby ... ) pas du javascript.

   
<hr />
Cordialement                Bul     [mon Site]     [M'écrire]
<hr />
Commenter la réponse de cs_bultez
cs_hakim0 123 Messages postés mercredi 27 août 2003Date d'inscription 12 août 2008 Dernière intervention - 13 avril 2007 à 12:19
0
Utile
oui je te compris, je suis un programmeur initier, le problem c'est le langaue francais
le problem est clair, le but non, je veut seuelement resourdre le probelem,
le javascript ne s'execute pas sur le div apres>> div1.innerHTML="<script type='text/javascript'>alert('No')<\/script>";

pk??. c'est ca la question, Merci
Commenter la réponse de cs_hakim0
cs_hakim0 123 Messages postés mercredi 27 août 2003Date d'inscription 12 août 2008 Dernière intervention - 13 avril 2007 à 13:18
0
Utile
ehh le problem se pose seulement en IE mais firefox ca marche sans (Magic) point,
Commenter la réponse de cs_hakim0
FREMYCOMPANY 278 Messages postés jeudi 12 janvier 2006Date d'inscription 22 décembre 2008 Dernière intervention - 13 avril 2007 à 19:01
0
Utile
C'est ce que je faisais avant mais apparrement sous IE7 en mode "standard" (donc pas Quirks), ca passe plus....

Au fait j'ai mis à jour... Il y avait une faute dans mon correctif... J'avais testé que sous FF et ca marchait... Alors j'ai remi l'ancien

Pourquoi notre PC fait-il toujours ce qu'on lui demande ... et pas ce qu'on veut ???
Commenter la réponse de FREMYCOMPANY
ptitjib 7 Messages postés samedi 9 mai 2009Date d'inscription 12 mai 2009 Dernière intervention - 23 févr. 2009 à 17:16
0
Utile
Bonjour,
Voilà ma solution :

une fonction qui relance les scripts :

function reload_allscript() {
var scripts = document.getElementsByTagName('script');
for (var i = 0; i < scripts.length; i++) {
eval(scripts[i].innerHTML);
}
}


Puis dans votre appel Ajax ajouter comme suit au niveau de la fonction xhr.onreadystatechange :

xhr.onreadystatechange = function() {
if ( xhr.readyState 4 && xhr.status 200 )
{
document.getElementById(elt_id).innerHTML=xhr.responseText;
reload_allscript();
} else {
document.getElementById(elt_id).innerHTML='Chargement ...';
}
Commenter la réponse de ptitjib

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.