jQuery - 使全局变量可用于多个插件

时间:2009-12-02 03:31:41

标签: javascript jquery configuration jquery-plugins global-variables

我有一组我正在为网站创建的jQuery插件。

所有这些插件都具有通用功能,可以进行$ .getJSON()调用。

这些调用中传递的URL因Dev,QA和生产环境而异。

我想将网址存储在中心位置,以便轻松更改。

应该在哪里存储URL?我不想将URL存储在每个插件中。 可以将它定义为全局变量,还是将其作为传递给插件的参数更好?

1 个答案:

答案 0 :(得分:15)

我建议你使用附加到jQuery对象的对象文字。请确保在所有插件之前包含它:

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

然后您需要它,只需使用

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

如果将对象/类与$.fn函数结合使用,还可以将此全局变量用作命名空间:

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);
    });
}