VIVEZ LE
FOOTBALL !

Posez votre question Signaler

Javascript : innerHTML

pecunia 2Messages postés 3 juin 2010Date d'inscription 29 novembre 2010Dernière intervention - Dernière réponse le 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>
.......

Lire la suite 

Javascript : innerHTML »

1 réponses
Réponse
+0
moins plus
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.
Ajouter un commentaire
Ce document intitulé « Javascript : innerHTML » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?