Javascript : innerHTML
pecunia
Messages postés
4
Statut
Membre
-
pecunia Messages postés 4 Statut Membre -
pecunia Messages postés 4 Statut Membre -
Bonjour,
Je n'ai pas trouvé de solution à ce code Javascript qui ne fonctionne plus sans l'alerte entre les variables popup et corps ?
Sans l'alerte, FF ouvre et ferme le popup mais n'affiche pas le contenu de la DIV 'anim' et IE ouvre le popup mais ne le ferme pas et n'affiche pas le contenu de la DIv 'anim'.
Je n'ai pas trouvé de solution à ce code Javascript qui ne fonctionne plus sans l'alerte entre les variables popup et corps ?
Sans l'alerte, FF ouvre et ferme le popup mais n'affiche pas le contenu de la DIV 'anim' et IE ouvre le popup mais ne le ferme pas et n'affiche pas le contenu de la DIv 'anim'.
<head>
<script type="text/javascript">
function appelSelection(selection) {
s = selection.split("/") ;
var num = parseInt(s[0],10) ;
var popup = window.open("historique.php?num=" + num,"popup","width=1,height=1") ;
alert("Pourquoi cette alerte est-elle indispensable pour IE et FF ?") ;
var corps = popup.document.getElementsByTagName('body').item(0).innerHTML ;
popup.close() ;
document.getElementById("anim").innerHTML = corps ;
}
</script>
</head>
<body>
......
<div id="anim" ></div>
.......
A voir également:
- Javascript : innerHTML
- Telecharger javascript - Télécharger - Langages
- A javascript error occurred in the main process - Forum Handicap / Accessibilté
- Afficher un tableau javascript en html ✓ - Forum Javascript
- Javascript arrondi - Forum Javascript
- Javascript arrondi après la virgule ✓ - Forum Windows
1 réponse
J'ai eu une réponse par ailleurs : Il faut laisser le temps à "historique.php" de générer sa page HTML depuis le serveur Apache (et ses requêtes SQL imbriquées) et de l'envoyer sur le poste client .
Le temps de 100 ms est à adapter au mieux avec le temps de réponse du serveur.
<script type="text/javascript">
function appelSelection(selection) {
s = selection.split("/") ;
var num = parseInt(s[0],10) ;
var popup = window.open("historique.php?num=" + num,"popup","width=1,height=1") ;
//alert("Pourquoi cette alerte est-elle indispensable pour IE et FF ?") ;
attente = function() {
corps = popup.document.getElementsByTagName('body').item(0).innerHTML;
popup.close();
document.getElementById("anim").innerHTML = corps;
}
setTimeout("attente()",100);
}
</script>
Le temps de 100 ms est à adapter au mieux avec le temps de réponse du serveur.