雖然JavaScript很漂亮并且非常友善,但是如果彼此沖突,它們也可以影響網站。可以預料,随着Joomla站點中安裝了越來越多的擴充,JavaScript沖突将會出現。這些擴充可能使用不同的JavaScript庫或不同的庫版本或由不同的開發人員制作的庫,這些庫可能彼此沖突。

是什麼導緻JavaScript沖突?
Mootools庫和jQuery庫的不同版本會造成很多JavaScript沖突。如果您使用相同的庫版本,但使用不同開發人員開發的庫(例如jQuery和Mootools沖突),則會發生JavaScript沖突。
這是一個案例研究:
模闆A加載Mootools庫1.5.0版
插件B加載自己的Mootools庫1.2.6版
子產品C加載jQuery庫1.11版
元件D加載jQuery庫2.1.1版本
JavaScript沖突的另一個原因是浏覽器,某些非标準浏覽器會處理JavaScript,并且浏覽器的JavaScript與從您的站點加載的JavaScript發生沖突。
如何檢測JavaScript沖突?
是以,當您的網站無法正常運作時,應排除沖突。但是,如何檢查和查找JavaScript沖突?ANSWER正在檢查JavaScript控制台。有多種基于浏覽器的方法。例如,在Firefox和Chrome中,可用的工具是Firebug,Web Developer工具欄,Debugger,Error Console等。
如果您的網站出現JavaScript錯誤,則該工具會向您提供錯誤消息,以幫助您找出問題所在,并在導緻該問題的網站擴充名/功能中歸零。該錯誤消息還會使您獲得沖突檔案的名稱。
您可以通過檢查導緻問題的擴充程式來檢測問題,步驟如下:
切換到預設的Joomla模闆并禁用已安裝的擴充程式,然後重新加載您的網站并檢查JavaScript錯誤是否仍然存在。
逐一釋出已安裝的擴充程式,然後重新加載您的網站。重複該過程,直到發現哪些部分存在沖突。
如何解決JavaScript沖突?
沒有解決JavaScript沖突的通用步驟,因為JavaScript沖突因情況而異,并且最好由開發人員解決。但是您可以嘗試以下幾種方法:
将jQuerry置于無沖突模式
jQuery庫及其所有插件都包含在jQuery名稱空間中。順便說一下,全局對象存儲在jQuery命名空間中,是以,您不應在jQuery與其他任何庫(例如prototype.js,MooTools)之間發生沖突。
在将jQuery加載到頁面上之後以及嘗試在頁面中使用jQuery之前,立即将jQuery置于無沖突模式。
<!-将jQuery置于無沖突模式的另一種方法。->
jQuery.noConflict();
jQuery(document).ready(function($){
//您可以在此處使用本地範圍的$作為jQuery的别名。
$(“ div”).hide();
});
//全局範圍中的$變量具有prototype.js的含義。
window.onload = function(){
var mainDiv = $(“ main”);
}
script>