2009-09-02 4 views
1

Je travaille sur un framework côté serveur.Quelle est la qualité de jQuery à coexister avec d'autres bibliothèques Javascript?

Ici et là, j'ai ajouté du javascript fait main pour faire des choses côté client. Cependant, cela devient de plus en plus douloureux et d'après ce que j'ai entendu, je pense que jQuery peut être utile. Le problème est que, comme il s'agit essentiellement de tâches côté serveur, je ne veux pas obliger mes utilisateurs (en supposant qu'il y en ait :) pour utiliser jQuery. Donc, la question est, à quel point jQuery coexiste-t-il avec d'autres bibliothèques javascript populaires? Va-t-il détourner des noms et des événements globaux pour ses propres buts ou est-il un mec coexistant relativement respectueux?

Répondre

6

jquery dispose d'une option noconflict qui permet de l'utiliser avec d'autres bibliothèques.

Vous pouvez également comparer combien il pollue l'espace de noms global contre d'autres bibliothèques here

Je suis également pas sûr de ce que vous demandez en fait, comme vous discuter de l'ajout javascript améliorations côté client, mais ensuite à dire que ce sera principalement des 'trucs côté serveur'. Lequel est-ce? Surtout client ou surtout serveur?

+0

choses intéressantes. Tout ce que je fais est côté serveur, mais il y a des choses comme Ajax qui sont intrinsèquement aussi côté client et des choses comme la validation qui sont mieux traitées des deux côtés. – flybywire

+1

Dans ce cas, la prise en charge de jQuery ajax est très bonne et simple - rien de spectaculaire mais c'est certainement mieux que de rouler le vôtre. La validation est très facile avec le plugin de validation http://docs.jquery.com/Plugins/Validation et c'est un excellent plugin. – Steerpike

+0

+1 C'est à peu près ce que x-x a demandé. Je crois que x-x pourrait créer une sorte d'interface qui permettrait aux utilisateurs d'insérer leur propre javascript, ce qui pourrait susciter des inquiétudes au sujet des conflits de bibliothèques. Le "côté serveur" fait probablement référence au code réel du serveur implémenté par x-x par opposition au code édité par l'utilisateur. –

1

Le principal généralement accepté avec jQuery est la portée de votre accès dans une fonction anonyme. Cela empêche la pollution de l'espace de noms. Le modèle ressemble à:

// anonymous function that takes the jquery $ object (aka window.jQuery) 
(function($) { 
    $(document).ready(function() { 
     // jQuery code here, call functions, etc 

    }); 
})(jQuery.noConflict()); // removes $ from window scope, returns the jQuery object 

Voir plus: http://docs.jquery.com/Core/jQuery.noConflict

1

jQuery a deux identificateurs globaux: jQuery et

$ Vous pouvez changer cela à un identifiant à l'aide jQuery.noConflict(), et alors le seul global est jQuery.

Questions connexes