具有不同 jQuery 版本的插件

Plugins with different jQuery versions

本文关键字:版本 插件 jQuery      更新时间:2023-09-26

在当前的实现中,有旧版本的jquery(1.7.x),旧插件依赖于这个版本的jquery。

现在我想添加新的jQuery插件,它需要最新的jquery verson,但不能删除旧版本的jquery,因为会有很多变化。

我们可以对新插件使用不同的 jquery versoin 而不会发生冲突吗?

我正在尝试以下解决方案,但不起作用。

<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
$(document).ready(function () {
$("#element").flexModal();
});
<script type="text/javascript" src="jquery-1.8.3.min.js"></script>  
<script type="text/javascript">
 var jQuery_1_8 = $.noConflict(true);
 jQuery_1_8(document).ready(function () {
 jQuery_1_8("#element2").flexModalLatest();
});
</script> 

插件名称仅用于此代码演示。

或者,

您可以将新的jQuery(1.11及更高版本)与官方jQuery migration插件一起使用,以支持已弃用/删除的功能。

http://jquery.com/download/#jquery-migrate-plugin

试试这个:

<!-- load jQuery 1.7.2 -->
<script type="text/javascript" src="http://example.com/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
var jQuery_1_7_2 = $.noConflict(true);
</script>
<!-- load jQuery 1.8.3 -->
<script type="text/javascript" src="http://example.com/jquery-1.8.3.min.js"></script>
<script type="text/javascript">
var jQuery_1.8.3 = $.noConflict(true);
</script>

而不是

 $('#selector')....;

你会做的

jQuery_1_7_2('#selector')....; 

jQuery_1_8_3('#selector')....;

https://api.jquery.com/jQuery.noConflict/

阅读文档后,我认为您正在从后到前使用它 - 加载第二个 jquery 版本后,使用 var jQuery_1.7.2 = $.noConflict() 获取对原始旧版本的引用。