JQuery – rend la variable globale disponible pour plusieurs plugins

J'ai un ensemble de plugins jQuery que je crée pour un site Web.

Tous ces plugins ont la fonctionnalité commune qu'ils font des appels $ .getJSON ().

L'URL passée dans ces appels varie en fonction de Dev, QA et des environnements de production.

Je voudrais stocker l'URL dans un endroit central afin qu'il puisse être facilement modifié.

Où l'URL doit-elle être stockée? Je ne souhaite pas stocker l'URL dans chaque plugin individuel. Peut-il être défini comme une variable globale ou est-il préférable de faire en sorte qu'un argument soit transmis au plugin?

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

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

Ensuite, où vous en avez besoin, utilisez simplement

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

Si vous utilisez des objets / classes en combinaison avec les fonctions $.fn , vous pouvez également utiliser cette variable globale comme 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); }); }