J'ai utilisé les composants YUI et je veux commencer à utiliser l'utilitaire Loader pour spécifier mes dépendances sur ma page. D'après votre expérience, YUI Loader Utility est-il un moyen fiable de charger les dépendances Javascript dans les pages Web?L'utilitaire YUI Loader est-il fiable?
3
A
Répondre
8
Oui, YUI Loader est fiable sur tous les navigateurs de classe A. Pour une liste des navigateurs Yahoo! considère A-grade, consultez le Graded Browser Support Chart.
2
Généralement oui. Rien ne devrait aller mal, et assurément si c'était le cas, yahoo serait sur le problème en un rien de temps!
1
J'utilise beaucoup le chargeur. C'est un excellent moyen de gérer les dépendances et de construire votre bibliothèque.
J'ai couru en 3 problèmes avec elle:
- Debugging - il est difficile de débogage. Est-ce le bogue dans la définition du chargeur du module ou est-ce dans le module (fichier de script)?
- Vous devez ajouter votre propre fonction 'subscibeOnce' pour ajouter des gestionnaires 'sur module (s) chargés'. Cela désinscrit vos gestionnaires après que le module a été chargé/inséré dans la page. Sinon, si vous insérez plus de modules plus tard dans la durée de vie de la page, ils s'appellent à chaque fois.
- Il y a une limite à quelles dépendances il peut comprendre. La commande dans les conditions requises: [] (dans la définition du module) semble avoir de l'importance. Je l'ai vu échouer à essayer de travailler à travers cette liste.
Ce que j'utilise est quelque chose comme:
var TheBase = function(oConfig){
var thisBase = this;
var EVENTS = {
ON_SCRIPTS_LOADED : "onScriptsLoaded"
, ON_SCRIPTS_PROGRESS : "onScriptsProgress"
}
for(var eventName in EVENTS){
thisBase.createEvent(EVENTS[eventName]);
}
var _loader = new YAHOO.util.YUILoader({
base: oConfig.yuiBasePath
,onSuccess:function(o){
thisBase.fireEvent(EVENTS.ON_SCRIPTS_LOADED);
}
,onProgress:function(o){
thisBase.fireEvent(EVENTS.ON_SCRIPTS_PROGRESS,o.name);
}
})
//optional
thisBase.loader = _loader;
}
TheBase.prototype = {
subscribeOnce : function(eventName, fnc, context, args){
var that = this;
var handler = function hander(){
fnc.apply(context, arguments);
that.unsubscribe(eventName, handler);
}
this.subscribe(eventName, handler, args, false);
}
}
// augmenter avec le fournisseur d'événements
YAHOO.lang.augment(TheBase, YAHOO.util.EventProvider);
Questions connexes
- 1. Interagir avec SWF Loader
- 2. Flash loader et glisser
- 3. 00626 erreur SQL Loader
- 4. Java TGA loader
- 5. barre de titre est manquante dans YUI
- 6. loader de classe de contexte
- 7. Codage d'e-mail fiable
- 8. multicast fiable en C#
- 9. Google AJAX API loader retour null
- 10. L'objet Loader ne distribue pas Event.COMPLETE
- 11. Problème avec les événements Loader ActionScript
- 12. Oracle SQL * Loader obtenant des valeurs CDATA
- 13. VisualStudio MSI Bootstrap Loader Bug et remplacement
- 14. Qu'est-ce que Oracle SQL Loader?
- 15. YUI Event Utility problème
- 16. Menu YUI avec animation
- 17. YUI Theatre license
- 18. Comment utiliser YUI
- 19. erreur yui datatable
- 20. YUI 3 Chaînage
- 21. YUI Uploader + SSL + Firefox
- 22. YUI Hello World
- 23. YUI Charts Styling
- 24. YUI DataTable .NET webservice
- 25. YUI DataTable Tri
- 26. YUI TreeView Object
- 27. YUI Événement et liens
- 28. yui ou yui3
- 29. YUI Désalignement du bouton
- 30. YUI Datatable Column Filter