OVH Cloud OVH Cloud

innerHTML..

3 réponses
Avatar
LEMAIRE Mathieu
En fait durant un script JS je change l'attribut innerHTML d'un DIV, et
ce contenu contient lui même du code JS.. Est-ce que ce code est exécuté ?

Je me tire les cheveux depuis un certain temps maintenant...

--
Maz

3 réponses

Avatar
ASM

En fait durant un script JS je change l'attribut innerHTML d'un DIV, et
ce contenu contient lui même du code JS.. Est-ce que ce code est exécuté ?


à mon idée : non !
et un refresh ne va pas faire non plus (relecture du code original)

Je me tire les cheveux depuis un certain temps maintenant...


pour exécuter le nouveau JS genre onclick="mafonction();"
cela doit marcher si çà appelle une fonction incluse dans le JS
qui a créé l'innerHTML

Bref, touj à mon idée, tu ne peux exécuter que du JS déjà existant.

Soluces pour introduire du nouveau JS
- une iframe cachée
- ou un popup en blur
y appeler la page contenant le nouveau JS
Les appels à fonctions innerHTMLés appellent celles du popup ou de l'iframe
onclick="parent.monIframe.mafonction();"
ou
onclick="if(monPopup) monPopup.mafonction(); else alert('erreur');"


--
*******************************************************
Stéphane MORIAUX et son vieux Mac
Aide Pages Perso (images & couleurs, formulaire, CHP)
http://perso.wanadoo.fr/stephane.moriaux/internet/
*******************************************************

Avatar
Thibault TAILLANDIER

pour exécuter le nouveau JS genre onclick="mafonction();"
cela doit marcher si çà appelle une fonction incluse dans le JS
qui a créé l'innerHTML


Bref, touj à mon idée, tu ne peux exécuter que du JS déjà existant.


Bonjour,

Non, une solution qui marche est d'écrire à la volée une ligne :
<script src="script.js" type="text/javascript" />
Le fichier est chargé immédiatement et les fonctions deviennent donc
disponibles.

Ma question est: pourquoi ne pas rajouter le code avant ?


Soluces pour introduire du nouveau JS
- une iframe cachée
- ou un popup en blur
y appeler la page contenant le nouveau JS
Les appels à fonctions innerHTMLés appellent celles du popup ou de l'iframe
onclick="parent.monIframe.mafonction();"
ou
onclick="if(monPopup) monPopup.mafonction(); else alert('erreur');"



Oui, selon moi ces solutions marchent aussi, mais ne sont pas vraiment
propres ...

Bye
--
Thibault


Avatar
LEMAIRE Mathieu
Non, une solution qui marche est d'écrire à la volée une ligne :
<script src="script.js" type="text/javascript" />
Cool ! ouais c'est ça qui va marcher


Ma question est: pourquoi ne pas rajouter le code avant ?


C'est assez compliqué..
Le mieux c'est que tu ailles voir à www.eaurizon.org/html
Le cadre central (bleu clair) est une iframe. Et le cadre sous-menu à
gauche doit réactualisé suivant la page qui est chargée. Mais ça se
complique : ce contenu sous-menu possède du JS et du PHP...
Du coup je demande son contenu ds l'iframe central avec PHP et je le
déplace vi innerHTML vers son cadre HTML...

Je sais pas si vous avez compris.. mais merci pour vos solutions, je
vais essayer chacune d'entre elles !

@++


Soluces pour introduire du nouveau JS
- une iframe cachée
- ou un popup en blur
y appeler la page contenant le nouveau JS
Les appels à fonctions innerHTMLés appellent celles du popup ou de
l'iframe
onclick="parent.monIframe.mafonction();"
ou
onclick="if(monPopup) monPopup.mafonction(); else alert('erreur');"



Oui, selon moi ces solutions marchent aussi, mais ne sont pas vraiment
propres ...

Bye