Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > AJAX
AJAX Forum sur la programmation AJAX. Avant de poster : Cours AJAX, FAQ AJAX, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/12/2011, 20h11   #1
Invité régulier
 
Inscription : novembre 2006
Messages : 43
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 43
Points : 5
Points : 5
Par défaut IE et long polling, blocage

Bonjour,

J'ai un soucis spécifique à IE lorsque je fais du long polling.

J’exécute un PHP via une requête ajax en jsonp qui est sensé attendre plusieurs minutes tant que sa connexion est toujours valide et qu'il n'a pas de notification à envoyer au client.

Le soucis est que si je cherche à changer de page IE freez en attendant la fin de l’exécution du script, ce qui pose un vrai problème dans le cadre d'une requête dormant sur le serveur pendant 2 ou 3 minutes.

J'ai codé un rapide test unitaire qui démontre bien le problème, disponible ici.

Le test consiste à appeler un script qui fait un sleep de 5 secondes en boucle.

Sur chrome ou FF, appuyer sur le lien reload ne demande aucune attente, on pourra simplement observer que la 1ère requête après rechargement aura le temps restant à attendre du script précédent de retard supplémentaire.

Cela du au fait que le script de la page précédente n'était pas fini, le nouveau doit donc attendre sa fin, pour ensuite commencer son sleep.

Sur IE en revanche, le navigateur freez le temps que le script se finisse, c'est illustré dans le test.

La question est donc comment éviter ce blocage et forcer IE à changer de page en ignorant tout simplement les scripts en cours.

Même en faisant un abort() sur la requête IE bloque jusqu'à recevoir la réponse..

Voilà, je m'en remet à votre expérience,
Bien cordialement.
Stnaire est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h46.


 
 
 
 
Partenaires

Hébergement Web