Bonjour,
je me suis posé la question sur le forum user du javascript.
1/ comment générer un fichier js comme un squelette (récupérer un
article qui est en fait du code js) et le charger dynamiquement dans un
autre squelette
2/ comment mettre du js dans un article et l'interpréter au chargement
de la page.
Peut-être avais-je mal lu diverses interventions sur le sujet ...
bref je croyais que cela relevait de la bidouille...
Mais après avoir glané du côté de dynapi et de
http://zingzoom.com/ajax/ajax_with_js_fr.php
j'ai un essai tout con (testé sur firefox et IE sur windows xp):
je crée deux article contenant ceci:
article 1: test javascript code (tel que j'ai tapé dans la fenêtre
d'édition)
<div id="code">var b;
b="test javascript code";
alert(b);
a="test fichier javascript modifié"
alert(a)</div>
article 2: test javascript fichier (tel que j'ai tapé dans la fenêtre
d'édition)
var a;
a="test fichier javascript";
alert(a);
voici mon squelette js.html
<BOUCLE_article(ARTICLES){id_article=2}>
#TEXTE*
</BOUCLE_article>
voici mon squelette test.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script language="JavaScript" type="text/javascript">
<script language="JavaScript" type="text/javascript">
function exec(){
eval(document.getElementById('fichier').innerHTML);
eval(document.getElementById('code').innerHTML);
}
</script>
</head>
<body onLoad="exec()">
<div id="fichier"><INCLURE(js.php3)></div>
<BOUCLE_article_principal(ARTICLES){id_article=3}>
#TEXTE*
</BOUCLE_article_principal>
</body>
</html>
ça fonctionne nickel:
le premier eval exécute un article = code javascript écrit sans aucune
balise "script" dans la fenêtre d'édition d'article
le second eval exécute le code contenu dans article normal, toujours
sans la balise "script", simplement dans un div que l'on peut évidemment
faire: visibility=hidden
ce second script modifie également et affiche une variable du premier ...
bref j'ai l'impression sans doute idiote d'avoir trouvé un truc ...
heu? j'ai dit une bêtise ?
Merci de vos réactions
RB