2014-11-24 56 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

相关问题