2014-11-24 63 views
0

有一個需求,即在頁面加載完成後,在頁面上加載自定義Javascript,即使用第三方工具,我們可以在頁面加載後在網站的實時頁面上執行。JQuery - 同一頁面上的多個版本 - 打破功能

即將到來的問題,該頁面有很多Javascript依賴的元素已被編碼使用jQuery版本1.6.2。我需要執行的運行時腳本需要jQuery版本1.10.x.見下面的代碼。

$('body').append('<script type="text/javascript" src="http://www.mywebsite.com/min/lib/jquery-1.10.2.js"></script>'); 
$('body').append('<script type="text/javascript" src="http://www.runtimetool.com/mycustom.js"/>'); 

只要的第一行代碼被應用,因爲在使用jQuery版本1.10.x.現有代碼的一些衝突的分頁符的原始功能

所以,我嘗試使用noConflict對其他問題的建議是這樣的:

$('body').append('<script type="text/javascript" src="http://www.mywebsite.com/min/lib/jquery-1.10.2.js"></script>'); 
var $j = jQuery.noConflict(true);  
$('body').append('<script type="text/javascript" src="http://www.runtimetool.com/mycustom.js"/>'); 

此外,我改變了文件「mycustom.js」使用附加$ J,而不是$ jQuery的。但我仍然有同樣的問題。如何防止JQuery 1.10.x打破現有頁面。

在此先感謝。

[編輯]

使用奧斯汀的建議,能調整庫的時機越來越加載。以下代碼現在可用。

var $jQuery1_6_2 = jQuery.noConflict(true); 
$jQuery1_6_2('body').append('<script type="text/javascript" src="http://www.mywebsite.com/min/lib/jquery-1.10.2.js"></script>'); 
$jQuery1_6_2('body').append('<script type="text/javascript" src="http://www.runtimetool.com/mycustom.js"/>'); 
setTimeout(function(){ 
    $jQuery1_10_2 = jQuery.noConflict(true); 
    $ = $jQuery1_6_2; 
    jQuery = $jQuery1_6_2; 

    //Logic to use Jquery 1.10 using '$jQuery1_10_2' 

}, 1000); 
+0

有無您是否嘗試僅使用JQuery 1.10.x來運行該頁面? – 2014-11-24 22:06:14

+0

Ramsay - 我無法編輯使用1.6.x的當前頁面。只能使用工具在現有頁面頂部應用腳本 – Vinay 2014-11-24 22:09:32

回答

2

嘗試沒有衝突的1.6.2然後加載了新的版本,那麼參考$正在重置到1.6.2

var $jQuery1_6_2 = jQuery.noConflict(true); 
(function($) { 
    $('body').append('<script type="text/javascript" src="http://www.mywebsite.com/min/lib/jquery-1.10.2.js"></script>'); 
    $jQuery1_10_2 = jQuery.noConflict(true); 
    $('body').append('<script type="text/javascript" src="http://www.runtimetool.com/mycustom.js"/>'); 
})($jQuery1_6_2); 
$ = $jQuery1_6_2; 

然後在腳本文件

(function($){ 

})($jQuery1_10_2); 
+0

感謝Austin的迴應。同樣的問題,但:( – Vinay 2014-11-24 22:38:25

+0

能夠得到它與一些小的編輯工作。請參閱編輯的問題與答案。+1你的方向。乾杯 – Vinay 2015-02-06 20:21:04

相關問題