ExtJS: Utiliser plusieurs fois Ext.OnReady

Utilisant depuis peu le framework Javascript très complet d’ExtJS (3.2.1) au boulot, dans une application PHP assez complexe (basée sur le Zend Framework), une des premières questions qui est arrivée dans l’équipe a été: « Est-il possible de faire des appels multiples à la fonction Ext.OnReady? »

La réponse n’a pas été si simple à trouver. Sur différents forums, les avis étaient partagés (Certains déconseillaient de multiplier les appels à Ext.OnReady, mais n’expliquaient jamais pourquoi).

Finalement, j’ai trouvé ce document, dans lequel il est écrit que la fonction Ext.OnReady enregistre seulement les méthodes à exécuter lorsque les éléments DOM de la page sont chargés.  Ces fonctions sont donc empilées dans l’ordre dans lequel vous les appelez. Question: En faisant appel plusieurs fois à Ext.OnReady, toutes les fonctions seront-elles ajoutées à la même pile?

Réponse: oui.

J’ai testé une page dans laquelle 100 appels (soyons fous) à la fonction Ext.OnReady étaient effectués, chacun de ces appels gérant un objet. Aucun problème signalé, et la page semblait aussi rapide que celle chargeant les 100 objets dans une unique fonction Ext.OnReady.

Cela peut être bon à savoir si vous comptez utilisez ExtJS dans des applications MVC à modules multiples. 🙂