jQuery自诞生以来,版本越来越多,而且jQuery官网的新版本还在不断的更新和发布中,现已经达到了1.6.4版本,但是我们在以前的项目中就已经使用了旧版本的jQuery,比如已经出现的:1.3.X、1.4.X、1.5.X、1.6.2等等。
由于项目的需要,必然也需要不断的使用较新版的jQuery,但对于原来就已经存在并已经采用了的旧jQuery版本,我们如何让多个不同的jQuery版本在同一个页面并存而不冲突呢?
其实,利用jQuery.noConflict()特性,我们不仅可以让jQuery与其他的JS库并存,比如Prototype。也可以与jQuery本身的其他不同版本并存而不冲突。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" > <html> <head> <title>在同一个页面中加载多个不同的jQuery版本</title> <!-- 从谷歌服务器加载jQuery最新版本 --> <script type= "text/javascript" src= "http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js" ></script> <script type= "text/javascript" > var jQuery_New = $.noConflict( true ); </script> <!-- 加载jQuery1.6.2版本 --> <script type= "text/javascript" src= "http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" ></script> <script type= "text/javascript" > var jQuery_1_6_2 = $.noConflict( true ); </script> <!-- 加载jQuery1.5.2版本 --> <script type= "text/javascript" src= "http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js" ></script> <script type= "text/javascript" > var jQuery_1_5_2 = $.noConflict( true ); </script> <!-- 加载jQuery1.4.2版本 --> <script type= "text/javascript" src= "http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" ></script> <script type= "text/javascript" > var jQuery_1_4_2 = $.noConflict( true ); </script> <!-- 加载jQuery1.3.2版本 --> <script type= "text/javascript" src= "http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" ></script> <script type= "text/javascript" > var jQuery_1_3_2 = $.noConflict( true ); </script> <script type= "text/javascript" > alert(jQuery_New.fn.jquery); alert(jQuery_1_6_2.fn.jquery); alert(jQuery_1_5_2.fn.jquery); alert(jQuery_1_4_2.fn.jquery); alert(jQuery_1_3_2.fn.jquery); jQuery_New(function($){$( '<p>我是最新的' +$.fn.jquery+ '版本添加进来的。</p>' ).appendTo( 'body' );}); jQuery_1_6_2(function($){$( '<p>我是' +$.fn.jquery+ '版本添加进来的。</p>' ).appendTo( 'body' );}); jQuery_1_5_2(function($){$( '<p>我是' +$.fn.jquery+ '版本添加进来的。</p>' ).appendTo( 'body' );}); jQuery_1_4_2(function($){$( '<p>我是' +$.fn.jquery+ '版本添加进来的。</p>' ).appendTo( 'body' );}); jQuery_1_3_2(function($){$( '<p>我是' +$.fn.jquery+ '版本添加进来的。</p>' ).appendTo( 'body' );}); </script> </head> <body> 在同一个页面中加载多个不同的jQuery版本 <br> </body> </html><br><br><br>https: //www.cnblogs.com/liyunqi007/archive/2011/10/22/2221178.html<br><br><br><br> |
最近在为某公司做企业内部UI库,经过研究分析和评审,决定基于Jquery开发,结合Bootstrap插件那简洁,优雅,高效的思想进行插件编写。
但是在编写的过程中遇到一个头疼的问题,就是正在编写的插件是基于Jquery-1.9.1版本开发的,而企业网站使用的是Jquery-1.6.2版本,这就会产生版本兼容性的问题,如果用了高版本的开发,整个网站很可能会瘫痪,但是沿用旧版本的Jquery,就会缺少很多功能,开发效率相对较低。幸好Jquery还有多库共存的方案,那就是Jquery.noconfilct()功能了。看了Jquery的API和查阅了相关资料,都不符合我的实际需要,经过多次的调试之后,终于成功整合了这两个版本
- <script type="text/javascript" src="jquery-1.9.1.js"></script>
- <script type="text/javascript" src="customize.js"></script>
- <script type="text/javascript">
- var _$ = jQuery.noConflict(true);
- </script>
- <script type="text/javascript" src="jquery-1.6.2.js"></script>
- <script type="text/javascript">
- //invoke Jquery.1.6.2
- $("document").ready(function(){
- alert("faf");
- })
- //invoke Jquery.1.9.1
- _$("document").ready(function(){
- alert("faf");
- })
- </script>
这里只是简单的整合两个版本,_$调用的是1.9.1版本的API,而$调用的是1.6.3的API.
通常我们都会基于某个版本写插件,比如基于1.9.1的版本写了个customize.js,这个文件必须放在1.9.1.js引用之后, jQuery.noConflict(true)之前。这里需要注意,customize.js里面的插件编写,还是必须用"$",这是因为此时还没有调用jQuery.noConflict函数,在调用完该函数后,需要用到自定义的插件或是1.9.1里的函数库,就必须用"_$"。如_$("#selector").company_button调用的就是自定义的插件。如调用$("#selector").company_button,就会出现无此函数的错误。
https://blog.csdn.net/lianyingge/article/details/50426275
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· 手把手教你更优雅的享受 DeepSeek
· AI工具推荐:领先的开源 AI 代码助手——Continue
· 探秘Transformer系列之(2)---总体架构
· V-Control:一个基于 .NET MAUI 的开箱即用的UI组件库
· 乌龟冬眠箱湿度监控系统和AI辅助建议功能的实现