Question

Le nouveau v1.4 jQuery dit ceci ...

jQuery.ajax () utilise maintenant onreadystatechange au lieu d'une minuterie

les requêtes Ajax devraient maintenant prendre moins de ressources en utilisant onreadystatechange au lieu du scrutin.

Je ne sais pas exactement ce que cela signifie, mais sur mon site (réseau social comme facebook, myspace) Je notifications que le get de l'utilisateur, il fait appel AJAX periodicly pour voir s'il y a de nouvelles notifications à afficher sur une page, est-ce quelque chose qui peut améliorer les choses de façon comme ça se fait?

Était-ce utile?

La solution

Oui, il améliorerait votre site. Selon la quantité de votre site utilise AJAX, l'amélioration ne sera pas perceptible dans la vitesse autant que les ressources système faibles utilisées pendant l'appel.

IE6 ne supporte pas onreadystatechange donc je suppose qu'il retombera à la minuterie pour IE6, mais la plupart des autres implémentations de navigateur de soutien XMLHTTPRequest que l'événement. callbacks d'événements utilisent toujours moins de ressources qu'un script de vote (qui vérifie quelque chose de quelques millisecondes).

En ce qui concerne IE6

  

L'événement onreadystatechange a été introduit dans Windows Internet Explorer 7. Source: MSDN

Autres conseils

2 Doug Neiner

IE 6 supporte certainement événement onreadystatechange. Je peux le voir en ce moment dans IE 6.0.2 sur xpsp2. MSDN indique que l'objet XMLHttpRequest pris en charge depuis la version 7 de IE, y compris tous ses événements. bibliothèques modernes (comme jQuery) de contourner ce par la création manuelle d'objets « Microsoft.XMLHTTP » ou « Msxml2.XMLHTTP » qui sont tous deux soutiennent onreadystatechange événement. exemple (MSDN).

Bonne chance.

PS a répondu ici coz ce fil dans le top 10 des résultats de recherche Google "onreadystatechange jquery"

onReadyStateChange est une propriété sur l'objet xmlHttpRequest. On dirait que $.ajax était auparavant le sondage XHR pour voir si elle était prête, mais est maintenant à la place écoute l'événement réel. Cela signifie qu'il consomme moins de ressources javascript, il ne vous dispense pas de toutes les ressources du serveur, parce que vous avez encore à faire dans le sens AJAX vote que . Il est donc pas vraiment une nouvelle technique que vous devez mettre en œuvre ou quelque chose, il est juste une différence de ce qui se passe derrière, et d'utiliser cette amélioration, tout ce que vous devez faire est de passer à la nouvelle version.

Je devine (mais je ne suis pas sûr), que maintenant qu'ils utilisent onReadyStateChange, vous pouvez également transmettre vos propres méthodes de rappel à cet événement, qui vous permettra de faire Comet ( "AJAX push") , ce qui pourrait améliorer les performances côté serveur. Mais sachez que la comète peut être difficile à mettre en œuvre:)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top