4

我有一套我爲網站創建的jQuery插件。jQuery - 使全局變量可用於多個插件

所有這些插件都具有共同的功能,它們可以實現$ .getJSON()調用。

在這些調用中傳遞的URL因Dev,QA和生產環境而異。

我想將URL存儲在中心位置,以便輕鬆更改。

URL應該存儲在哪裏?我不想將URL存儲在每個單獨的插件中。 它可以被定義爲一個全局變量還是更好地將它作爲傳遞給插件的參數?

回答

14

我建議你使用附加到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); 
    }); 
}