2010-10-21 4 views
1

Disons que je veux fournir un widget comme Youtube pour intégrer son lecteur dans une page externe. Pour ce widget, je me base sur une certaine version de jQuery. Comment puis-je regrouper jQuery avec mon widget afin qu'il soit disponible pour mon code JS de widget, mais qu'il n'interfère pas avec les autres versions de jQuery incluses dans la page externe?Bundle jQuery avec widget

Avez-vous des pointeurs comment faire cela? Fondamentalement, je cherche un moyen de charger jQuery dans un espace de noms spécifique.

+0

http://stackoverflow.com/questions/1535691/how-to-change-namespace-of-jquery uhm? – Hannes

Répondre

3

Vous pouvez le faire avec les éléments suivants:

var $j = jQuery.noConflict(true); 

qui realloueront toutes les variables de jQuery/$ à $ j

Votre code devrait utiliser j $ dans votre code à la place, à moins que vous l'envelopper dans une fermeture:

(function($){ /* jquery code here */ })($j); 

Normalement, je voudrais juste passer jQuery dans cette fonction d'auto-exécution, mais puisque vous avez peur que le site parent pourrait avoir une ancienne version de jQuery loade d, il serait plus sûr de combiner la fonction auto-exécutable avec noConflict

+0

Merci, c'est exactement comme ça que j'ai fini par le faire! – Sebi

+0

@Sebi vous êtes les bienvenus –