J'ai un traitement assez long à réaliser et je suis en train de passer en Javascript le traitement qui était jusqu'à présent fait en PHP. Cela permet de modifier les couleurs des lignes à traiter au fur et à mesure de l'avancée du traitement.
Voici le code :
La fonction est appelée depuis le onLoad du body.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 for (i =parseInt(document.getElementById("ed_LigDebut").value - 1); i<=document.getElementById("ed_NbLignes").value; i++ ){ // construire une URL LC_URL = "API_yyyyl.php?xxxxxx"; // afficher les projets du client sélectionné if (window.XMLHttpRequest) { xhr = new XMLHttpRequest(); } else if (window.ActiveXObject) { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } xhr.onreadystatechange = function() {TRT_Resultat(xhr, i);}; xhr.open("GET", LC_URL, false); xhr.send(null); } function TRT_Resultat(xhr, PN_Ligne){ if (xhr.readyState==4) { var LO_LIG = document.getElementById("id_LIG_" + PN_Ligne); if (LO_LIG != null){ LO_LIG.className = "EcranSaisieDetailLigneImpaire"; } } }
Sur Opera cela fonctionne parfaitement.
Par contre sous FireFox seul le premier ordre est exécuté. Pourtant j'ai positionné le booléen de xhr.open à false pour rendre le traitement synchrone.
Si je place un alert au milieu de la boucle chaque étape du traitement est bien prise en compte.
Merci d'avance de vos idées.
Partager