4

J'ai un ensemble de plugins jQuery que je crée pour un site web.jQuery - rend la variable globale disponible pour plusieurs plugins

Tous ces plug-in ont la même fonctionnalité que les appels $ .getJSON().

L'URL transmis dans ces appels varie en fonction des environnements de développement, d'assurance qualité et de production.

Je souhaite stocker l'URL dans un emplacement central afin de pouvoir la modifier facilement.

Où l'URL doit-elle être stockée? Je ne veux pas stocker l'URL dans chaque plugin individuel. Peut-il être défini comme une variable globale ou vaut-il mieux en faire un argument passé au plugin?

Répondre

14

Je vous recommande d'utiliser un littéral d'objet attaché à l'objet jQuery. Assurez-vous de l'inclure avant tous vos plugins:

jQuery.YourCompany = { 
    url: "http://thedomain.com" 
}; 

Alors partout où vous en avez besoin, il suffit d'utiliser

jQuery.YourCompany.url 
// or 
$.YourCompany.url 

Si vous utilisez des objets/classes en combinaison avec les $.fn fonctions, vous pouvez également utiliser cette variable globale en tant qu'espace de noms:

jQuery.YourCompany.PluginOne = function(el){ 
.... 
} 

// But not on the fn object: 

jQuery.fn.pluginOne = function(){ 
    return this.each(function() { 
     var po = new jQuery.YourCompany.PluginOne(this); 
    }); 
}