有一個需求,即在頁面加載完成後,在頁面上加載自定義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