"" />

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

Messages postés
123
Date d'inscription
mercredi 27 août 2003
Dernière intervention
12 août 2008
- 12 avril 2007 à 12:42 - Dernière réponse :
Messages postés
7
Date d'inscription
samedi 9 mai 2009
Dernière intervention
12 mai 2009
- 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 

Votre réponse

15 réponses

Meilleure réponse
Messages postés
732
Date d'inscription
jeudi 2 janvier 2003
Dernière intervention
29 octobre 2007
- 13 avril 2007 à 12:24
3
Merci
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

Merci cs_roro06 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 89 internautes ce mois-ci

Commenter la réponse de cs_roro06
Messages postés
123
Date d'inscription
mercredi 27 août 2003
Dernière intervention
12 août 2008
- 13 avril 2007 à 13:16
1
Merci
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
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Dernière intervention
15 octobre 2013
- 12 avril 2007 à 12:52
0
Merci
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
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Dernière intervention
15 octobre 2013
- 12 avril 2007 à 13:01
0
Merci
question supplémentaire : qule est le but ?
<hr />


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



<hr />
Commenter la réponse de cs_bultez
Messages postés
278
Date d'inscription
jeudi 12 janvier 2006
Dernière intervention
22 décembre 2008
- 12 avril 2007 à 18:18
0
Merci
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
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Dernière intervention
15 octobre 2013
- 13 avril 2007 à 06:55
0
Merci
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
Messages postés
123
Date d'inscription
mercredi 27 août 2003
Dernière intervention
12 août 2008
- 13 avril 2007 à 11:12
0
Merci
le problem il rest, le javascript ne s'execute pas,...

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




question : pourquoi mettre du javascript dans un div ?

Cordialement
Roro webDev
Commenter la réponse de cs_roro06
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Dernière intervention
15 octobre 2013
- 13 avril 2007 à 11:30
0
Merci
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
Messages postés
123
Date d'inscription
mercredi 27 août 2003
Dernière intervention
12 août 2008
- 13 avril 2007 à 11:43
0
Merci
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
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Dernière intervention
15 octobre 2013
- 13 avril 2007 à 12:09
0
Merci
>>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
Messages postés
123
Date d'inscription
mercredi 27 août 2003
Dernière intervention
12 août 2008
- 13 avril 2007 à 12:19
0
Merci
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
Messages postés
123
Date d'inscription
mercredi 27 août 2003
Dernière intervention
12 août 2008
- 13 avril 2007 à 13:18
0
Merci
ehh le problem se pose seulement en IE mais firefox ca marche sans (Magic) point,
Commenter la réponse de cs_hakim0
Messages postés
278
Date d'inscription
jeudi 12 janvier 2006
Dernière intervention
22 décembre 2008
- 13 avril 2007 à 19:01
0
Merci
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
Messages postés
7
Date d'inscription
samedi 9 mai 2009
Dernière intervention
12 mai 2009
- 23 févr. 2009 à 17:16
0
Merci
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.