2013-12-10 71 views
0

我正在處理的網站有我想解決的JavaScript錯誤。與JQuery庫的多重聲明相關的衝突

在同一頁上其他腳本的頂部,我得到了多個聲明這樣:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>  
<script type="text/javascript" src="js/jquery-1.7.1.min.js" ></script> 
<script type="text/javascript" src="js/jquery.jcarousel.min.js" ></script> 
<script type="text/javascript" src="js/jquery-ui-1.8.21.custom.min.js" ></script> 
<script type="text/javascript" src="js/jquery.ui.touch.js"></script> 
<script type="text/javascript" src="js/QapTcha.jquery.min.js"></script> 
<script type="text/javascript" src="js/slides.min.jquery.js" ></script> 
<script type="text/javascript" src="js/jquery.ui.datepicker.min.js" ></script> 
<script type="text/javascript" src="js/jquery.ui.datepicker-fr.js" ></script> 

有一些聲明我可以安全地刪除?

我該如何確定這些腳本是否共存而不衝突?

+2

我會刪除前兩個之一 - 你真的不希望在同一頁上的兩個不同版本的jQuery的,他們會發生衝突。我無法告訴你是否有任何插件相互衝突,或者不同的插件實際上是否期望不同版本的jQuery。 – nnnnnn

+0

+1對@nnnnnn。前兩項中只有一項可以安全移除。 –

回答

1

嘗試這樣的事情

<script type="text/javascript" src="jquery1.4.2.js"> 
</script> 
<script type="text/javascript"> 
    var jq_4 = jQuery.noConflict(); 
</script> 
<script type="text/javascript" src="jquery1.6.js"> 
</script> 
<script type="text/javascript"> 
    var jq_6 = jQuery.noConflict(); 
</script> 
<script type="text/javascript" src="jquery1.7.js"> 
</script> 
<script type="text/javascript"> 
    var jq_7 = jQuery.noConflict(); 
</script> 
<script type="text/javascript"> 
    // You can use different instance of jquery library. 
    jq_4(document).ready(function() { 
    // so now you can use jquery jq variable instead of $ . 
    jq_4("div").hide(); 
    }); 
    jq_7(document).ready(function() { 
    // so now you can use jquery jq variable instead of $ . 
    jq_7("div").hide(); 
    }); 
</script>