如何包含多个 jquery 版本以使多个 jquery 插件工作

how include multiple jquery version for multi jquery plugins to work

本文关键字:jquery 插件 工作 版本 何包含      更新时间:2023-09-26

首先,我看到这个问题并使用noConflict:

我可以在同一页面上使用多个版本的 jQuery 吗?

但是我想要的是加载 2 个 jquery 插件(超级鱼.js和 jstree),每个插件都使用不同版本的 jquery(我的意思是在其核心库中),我该怎么做?

编辑:我把我到目前为止所做的和我想要的:

<script type="text/javascript" src="http://example.com/jquery-1.7.js"></script>                
// i do not use noConflict for support other plugins 
<!-- load jQuery 1.3.2 -->
<script type="text/javascript" src="http://example.com/jquery-1.9.js"></script>
<script type="text/javascript">
var jQuery_1_9 = $.noConflict(true);
</script>

例如,现在我想加载超级鱼.js使用jquery_1_9:

<script  type="text/javascript" src="http://example.com/superfish.js">   </script>

Superfish.js使用$,它指的是jQuery版本1.7

如果 js 文件"superfish.js"从本地资产加载,那么通过向该文件的 init(主函数或函数的入口点)函数提供包装器,我们可以解决它。

<script>
var jQuery_1_9 = $.noConflict(true);
initailizeFun(jQuery_1_9); // inside function of superfish.js which initiates plugin.
</script>

但这里的问题是,如果使用另一个版本的jquery,如"jQuery_1_8",那么将用户数据设置为这个"jQuery_1_8"将无法在Superfish.js中访问。