Bonjour,
Dans un page, j'utilise des requêtes AJAX en cascade pour vérifier, réparer et optimiser toutes les tables d'une base de données MySql (requêtes SHOW TABLES, CHECK TABLES, REPAIR TABLE et OPTIMIZE TABLE). La durée du script est assez longue, car il y a pas mal de tables et chaque requête de ce type prend un certains temps au serveur.
Les requêtes AJAX sont effectuées en mode synchrone. Je sais que ce n'est pas l'idéal, mais c'est nécessaire pour pouvoir afficher les résultats dans l'ordre. J'ai testé en asynchrone, toutes les requêtes partent en même temps, et les OPTIMIZE se font parfois pendant le REPAIR de la même table, ce qui n'est pas top.
Au fur et à mesure du retour des requêtes, j'affiche le résultat des requêtes sur la page, et je fait avancer un curseur proportionnel au nombre de tables vérifiées.
Cela est fait avec des instructions du type $('#result').html(zz) pour le texte et $('#moncurseur').width(nn) pour le curseur.
Sur Firefox, tout va très bien, les résultats s'affichent en cadence, le curseur avance génialement
Mais sur Internet Explorer (exploseur) rien ne se passe tant que toutes les requêtes ne sont pas terminées. La page est bloquée et tout s'affiche brutalement à la fin du script
Je cherche donc un moyen de forcer l'affichage d'un texte évolutif PENDANT un script, et non pas le texte entier à la fin du script, et qui marche sur tous les navigateurs (Encore merci M. Microsoft !).
J'ai bien sûr déjà cherché dans la FAQ et sur les moteurs de recherche, mais avec les mots clés "rafraichir", "affichage" et/ou "script", etc. je n'ai trouvé que des rafraichissements complets de page et rien qui résolve mon problème.
Merci de vos conseils
Partager