我的项目使用jQuery 1.4.4。
但我刚下载了一个jQuery插件,它附带了jQuery 1.3.2的副本。
如果我在项目中包含两个版本的jQuery,它会产生任何冲突吗?
我怎么知道这个插件是否真的需要1.3.2版本?
如果确实真的需要它该怎么办?
答案 0 :(得分:2)
答案 1 :(得分:2)
我怎么知道这个插件真的 真的需要1.3.2版本吗?
试试你正在使用的版本。如果它有效,它就可以工作。
如果我这会造成任何冲突 包括我的两个版本的jQuery 项目
我相信你可以通过编写包含多个版本的jQuery:
var oldVersion = $.noConflict();
这会将$
恢复到加载jQuery版本之前的状态。因此,当您加载最新版本时,它会假定为$
。但是,您可能需要修改插件,以便使用正确的$
或oldVersion
。如果插件设计正确,它很可能会使用一个闭包,这种变化很容易做到。
答案 2 :(得分:1)
删除1.3.2并尝试1.4.4,它应该工作,它们没有那么不同。 也许1.3.2是插件作者发布时的最新版本。
答案 3 :(得分:0)
您应该包含最新版本。 jQuery版本保持稳定的插件依赖性。
答案 4 :(得分:0)
但我刚下载了一个jQuery插件,它附带了jQuery 1.3.2的副本。
如果我在项目中包含两个版本的jQuery,它会产生任何冲突吗?
取决于它是如何“捆绑”的,加载顺序可以是在插件加载时确保jQuery
中的正确对象。如果插件正确捕获当前的jQuery实例,那么它应该不是问题。如果插件“正确”完成,它将被包装为:
;(function ($) {
...
}(jQuery)
此处无需使用noConflict
影响$
快捷方式。如果插件已正确绑定,则不适用。如果没有正确绑定,最好继续前进。如果插件适用于1.4.4,那么当然不要打扰1.3.2: - )
我怎么知道这个插件真的需要1.3.2版本吗?
文档是最好的选择。然而,只是尝试和看到可能是最实用的选择(这将是我的第一步)。
如果确实真的需要它该怎么办?
按上述方式加载订购并进行测试 - 或者将其黑客入侵 - 或者将更新/不同的插件作为替代品。
快乐的编码。