Trucsweb.com

Forum de discussion

 Forum « Programmation Javascript » (archives)

Re: Javascript non interprété dans une DIV ??

Envoyé: 30 avril 2004, 7h46 par Oznog


Salut,

1. Via innerHTML
bul a tout à fait raison. Et les "passes" sont nombreuses. Rare son ceux qui savent qu'un tableau HTML par exemple (<table>) demande à lui seul deux lectures complètes du HTML.

Bien que le Javascript soit imbriqué à un document HTML ça reste une entité complètement ignorer par le moteur HTML. C'est d'ailleurs pour ça que l'on doivent spécifier l'usage de script. Sauf à des endroit précis comme dans un comportement, par défaut seul le Javascript est interprété là (onclick, onsubmit...). De même innerHTML ne contiendra que du HTML et tout script ne pourra visiblement être interprété.

TU AS UN PROBLÈME DE STRUCTURE. Tu doit repenser ton application.

Si tu écrit document.getElementById("maDiv").innerHTML tu est donc déjà en plein processus Javascript! Alors pourquoi vouloir générer/interpréter un code alors qu'il suffit d'en exécuter un!

document.getElementById("maDiv").innerHTML = "J'éxécute mon allo"
alert('allo');

Tu va peut être me dire que le véritable but n'est pas d'afficher "allo" (Tu n'est pas très bavard à ce niveau) mais c'est tout de même ça. TOUT LE CODE QUE TU VEUX INTERPRÉTÉ DIRECTEMENT DANS LE DIV PEUT ÊTRE FAIT par la même transaction.

2. via document.write
Donc un javascript glissé dans un HTML ne fait pas grand chose. MAIS, mais mais, le Javascript interpré par lui même !

<html>
<body>
<div id="maDiv">
<script language="JavaScript" type="text/javascript">
document.write('<s' + 'cript>');
document.write("alert('allo')");
document.write('</' + 's' + 'cript>');
</script>
</div>
</body>
</html>

Je ne sais pas si ça peut t'aider, car le même principe s'applique dans ce cas. C'est à dire que les "actions", on peut faire tout simplement :

<script language="JavaScript" type="text/javascript">
alert('allo');
</script>

Mais par exemple dans le cas où l'on veut passer une valeur "dynamique" à un script "externe".

<script language="JavaScript" type="text/javascript">
maVar='allo';
document.write('<s' + 'cript src="script.asp?maVar='+maVar+'">');
document.write('</' + 's' + 'cript>');
</script>

Note que toutes les conditions seront aussi présente et donc le poid du document final toujours le même! MAIS SI TU REGARDE BIEN MON EXEMPLE, le script est un .asp C'est un langage serveur qui lui peut générer 100% du code Javascript, en autant qu'il retourne une en-tête Javascript. C'est une trasaction à un niveau supérieur alors le Navigateur ni voit que du feu.

Ciao
Oznog


Réponses

 sp spRe: Javascript non interprété dans une DIV ?? alex543/5/2004
Aucun médias sociaux
X

Trucsweb.com Connexion

Connexion

X

Trucsweb.com Mot de passe perdu

Connexion

X

Trucsweb.com Conditions générales

Conditions

Responsabilité

La responsabilité des Trucsweb.com ne pourra être engagée en cas de faits indépendants de sa volonté. Les informations mises à disposition sur ce site le sont uniquement à titre purement informatif et ne sauraient constituer en aucun cas un conseil ou une recommandation de quelque nature que ce soit.

Aucun contrôle n'est exercé sur les références et ressources externes, l'utilisateur reconnaît que les Trucsweb.com n'assume aucune responsabilité relative à la mise à disposition de ces ressources, et ne peut être tenue responsable quant à leur contenu.

Droit applicable et juridiction compétente

Les règles en matière de droit, applicables aux contenus et aux transmissions de données sur et autour du site, sont déterminées par la loi canadienne. En cas de litige, n'ayant pu faire l'objet d'un accord à l'amiable, seuls les tribunaux canadien sont compétents.

X

Trucsweb.com Trucsweb

X

Trucsweb.com Glossaire

X

Trucsweb.com Trucsweb

X

Trucsweb.com Trucsweb

Conditions

Aucun message!

Merci.

X
Aucun message!
X

Trucsweb.com Créer un compte

Créer un compte

.
@