Javascript : innerHTML

Fermé
pecunia Messages postés 4 Date d'inscription jeudi 3 juin 2010 Statut Membre Dernière intervention 3 avril 2019 - 26 nov. 2010 à 11:21
pecunia Messages postés 4 Date d'inscription jeudi 3 juin 2010 Statut Membre Dernière intervention 3 avril 2019 - 29 nov. 2010 à 10:58
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'.

<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>
.......

1 réponse

pecunia Messages postés 4 Date d'inscription jeudi 3 juin 2010 Statut Membre Dernière intervention 3 avril 2019
29 nov. 2010 à 10:58
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 .

<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.
0