有一个需求,即在页面加载完成后,在页面上加载自定义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);
有无您是否尝试仅使用JQuery 1.10.x来运行该页面? – 2014-11-24 22:06:14
Ramsay - 我无法编辑使用1.6.x的当前页面。只能使用工具在现有页面顶部应用脚本 – Vinay 2014-11-24 22:09:32