J'ai donc une fonction $ ajax qui va à une URL et obtient plusieurs objets json que je fais en divs. J'ai environ 50 objets, et j'appelle la fonction $ ajax avec setInterval toutes les 10 secondes afin qu'il puisse obtenir des mises à jour pour chacun des objets json que je fais en divs. Je remarque que chaque fois que la fonction $ ajax est exécutée, le navigateur se bloque pendant une seconde ou deux. Comment puis-je minimiser/éliminer le gel ou y a-t-il une meilleure approche de ce que j'essaie de faire?
Répondre
Les manipulations de Dom peuvent provoquer le blocage du navigateur. Essayez de renvoyer la div que vous voulez mettre à jour plutôt que seulement les données afin que tout ce que vous faites remplace le nœud actuel. L'idée est de minimiser les interactions dom.
Les appels asynchrones ne gèlent pas le navigateur. Si vous avez déjà vérifié que vous exécutez votre appel AJAX de manière asynchrone (la méthode par défaut), vous devez vérifier le processus qui convertit vos réponses JSON en divs. Ce processus n'est pas asynchrone et peut bloquer d'autres opérations.
Nous devrions vraiment à votre code, si vous voulez afficher, de chercher quelque chose d'étrange, mais il est possible que vous utilisez dans l'une des questions suivantes:
- Freezes only happen locally, mais fonctionne vous déployez en direct
- IE-specific issue? due à la manipulation DOM
$ ajax est probablement pas ce qui est à l'origine de votre gel. $ ajax rappelle votre serveur Web de manière asynchrone, il ne devrait donc pas bloquer votre navigateur. Si vous recréerez vos 50 objets à chaque appel, cela aura certainement un effet de gel. Ne mettez à jour la vue que si elle a des modifications.
Comme pour une meilleure façon, je recommanderais d'utiliser une bibliothèque comme backbone.js pour gérer l'actualisation de votre couche de vue pour vous.
- 1. IE6/7 Gel pendant la requête jQuery AJAX
- 2. jquery appel ajax provoque une erreur de navigateur
- 3. Le contenu du curseur apparaît pendant une seconde avant l'initialisation
- 4. iOS App Rotation provoque le gel
- 5. Fenêtre opengl gel pendant le déplacement/redimensionnement
- 6. L'utilisation de jquery $ .ajax provoque le blocage du navigateur avec arbor.js mais pas le JSON "natif"?
- 7. Jquery Ajax poster une animation pendant le processus ajax?
- 8. Javascript window.print() provoque le blocage du navigateur
- 9. Fancybox onComplete - Le positionnement fonctionne pendant une fraction de seconde
- 10. Lorsque ce déclencheur ajax jquery Je veux une image qui charge pendant 1 seconde
- 11. La lecture du port série provoque le gel de l'application pendant un certain temps. Ai-je besoin de filetage?
- 12. UIViewController dismissViewControllerAnimated: achèvement: provoque le gel de l'application
- 13. Gel du terminal Ubuntu
- 14. comment configurer UIProgressview pendant une seconde?
- 15. UIScrollView - détecter seconde touche pendant le défilement
- 16. iphone - le fil principal gèle pendant une demi-seconde ... pourquoi?
- 17. Gestion du cache du navigateur pendant le développement local
- 18. L'exécution de beaucoup de tests provoque le blocage d'Eclipse, la poursuite du gel, etc.
- 19. JQuery Ajax Post Gel/Timeout sur les périphériques mobiles
- 20. Traiter une fonction ajax pendant une fonction ajax
- 21. Android 2D Game App gel 1 seconde de manière constante
- 22. Nettoyage du cache du navigateur Web pendant le développement javascript
- 23. Le rappel asynchrone JQuery et AJAX fait attendre le navigateur?
- 24. AJAX et le bouton Précédent du navigateur
- 25. jQuery: ajax()/jsonp: navigateur croisé
- 26. jquery ajax vs navigateur url
- 27. L'exécution du navigateur provoque une exception dans l'application Silverlight
- 28. Appelez une fonction une fois par seconde pendant 10 secondes
- 29. Remplacer une image avec une autre image par ajax la fait disparaître pendant une fraction de seconde
- 30. L'appel AJAX gèle le navigateur pendant qu'il obtient une réponse et exécute le succès
afficher du code réel, mais il semble que vous le signalez pour effectuer un appel synchrone au lieu d'un appel asynchrone –