为什么要使用旧版本的jQuery?

6
我刚读了一个关于如何修复jQuery 1.2.6中某些内容的问题的这个问题,但不明白为什么人们要使用旧版本的jQuery?有什么好处或原因吗?
对我来说,答案显然是更新到最新的jQuery,但大多数回答为什么没有这样说,可能有原因。 编辑: 我理解只落后于一个版本,特别是当新版本刚发布时..但落后超过3个版本?我不认为花费在新版本上让某些东西运行的努力比让未来的事情在旧版本上运行的努力更大。
谢谢!

那么有很多代码示例在最新版本无法工作吗?我认为相反的情况是正确的,你可以在最新(或者可能是倒数第二个最新的)jQuery版本上获得更多的帮助和文档。 - mazlix
1
一些运行高可用性应用程序的人喜欢尽可能少地进行更改,以引入尽可能少的风险。更改整个库被认为是一个大更改,而更改库中的一两个方法被认为是较小的更改。 - m4tt1mus
7个回答

9
较新的版本通常会提供做同一件事情的新方法,但也偶尔会破坏向后兼容性。有时候,升级后的回归测试需要付出很大的努力,这可能会成为一个障碍。此外,如果有其他依赖于旧版本的第三方插件,那么在它们升级之前,你也无法进行升级。

5

许多企业内部网络仍在使用ie6的原因是因为有遗留系统将“缺陷”视为“特性”,需要重新编写和调试在旧版本上已经运行良好的代码...


2
啊... 举手表示在这场噩梦中有经验。 - Joseph Marikle

2

如果没出现问题,不要轻易更改 :))


在我链接的问题中,它曾经是出错的......但我不同意......除非它是一个您永远不打算更改的网页,否则最好使用最新版本,因为所有最新的插件、SO上的答案等都将使用该版本。 - mazlix
我所指的并不是jQuery 1.2.6本身,而是使用jQuery 1.2.6的应用程序(在回答你的问题时)。如果这些应用程序运行良好,那么一般来说最好保持原样,除非你有时间和资源进行更新、测试和修复。当然,拥有最新版本是最好的,但在大型项目/应用程序中,情况并不总是那么简单。 - Anh Pham

2

这取决于情况。 如果您正在管理一个使用jQuery 1.2.6或旧版本(如1.3.2)的大型应用程序,可能很难跟上部署具有更新的jQuery库的新版本的步伐。 您将不得不跟上破坏性更改(如1.5和1.6之间的dataattr更改)。 如果您的应用程序广泛使用jQuery,那么对于您的测试人员来说,这可能需要进行大量测试(如果您足够幸运拥有测试人员的话)。 :)

此外,如果您使用插件,则不能保证它们与较新版本兼容。

有很多原因导致人们仍然使用旧版本。 我相信其他人也会发布其他原因。


但这正是我认为使用最新版本很重要的原因!!!因为插件可能会出问题,所以你应该保持更新..所以当你想使用另一个插件时,那个新的插件将会起作用..我认为有更多的向后兼容性而不是"向前兼容性"。 - mazlix
1
但是,如果您构建了一个使用插件的应用程序,该插件依赖于1.5.1,那么您不能只是升级到1.6,因为该插件可能会出现问题。不是挑选组件,但我最近发布了一个问题,我正在使用带有某个插件的1.6版本,但它无法工作,因为它仅支持1.5.2。由于这个原因,我无法升级到1.6...否则我将不得不重写我的应用程序的部分内容。 - David Hoerster

1

除非您不想更改旧版本中某些功能已被弃用的遗留代码,否则始终升级到最新发布的JQuery没有任何害处。


1
我使用旧版本的jQuery的唯一情况是,当我使用的一个jQuery插件因新版本的更改而崩溃时。通常大多数插件都能很好地与最新版本兼容,但在1.3->1.4->1.5之间有一些重大变化,导致我的一些插件停止工作了几周。

0

JQuery的新版本有时不保持向后兼容性。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接