2013-04-26 70 views
0

這可能是一個愚蠢的問題,但我不是很熟悉一些JavaScript技術,我想知道哪種方式來處理jQuery插件及其相應的調用。有條件的jQuery插件調用

如果我打電話JavaScript文件中的一個插件,當我沒有真正將其導入,我得到這樣的錯誤:

Uncaught TypeError: Object [object Object] has no method 'tipsy'

有什麼辦法避免這些類型的錯誤的情況下,我即使我打電話,也不想使用插件?

在許多情況下,我只使用一個.js文件,其中我調用了許多jQuery插件,但在某些頁面中使用了它們以及它們正在使用的元素或選擇器,它們不存在。

我有條件地加載或不加載插件取決於我是否使用它們,但我自己的.js文件仍然有調用它們。 (例如,如果他們沒有一個JS文件中使用的功能)

我都做到了,有時並檢查是否存在選擇然後調用pluging:

if($('.listWrap').length){ 
    //call the the plugin 
    $('.listWrap').tipsy(....); 
} 

但它看起來並不太好,並能在使用許多不同選擇器的插件時變得更大。

哪個是正確的方法來處理這個問題?謝謝。

回答

0

實際上,將每個頁面上的所有插件都包含在一起,並將其合併到一個文件中並進行縮小,可能會更好。

對服務器的請求較少;在每個頁面上都會緩存一個文件(而不是在每個頁面視圖上加載單個文件);並且這些錯誤將消失,無需編寫新代碼。