2011-10-26 64 views
2

目前我在我的网站中使用1.4.4,并考虑升级到最新版本(1.6.4)。根据您的经验,是否有任何理由不应该替换jquery文件(我将其托管在我的服务器中)。我应该注意哪些事情?将jQuery从1.4.x升级到1.6.x时,我想要做什么

+0

插件,疑难杂症。但有什么尖叫'等待!'在1.4.4和1.6.4的所有版本中,肯定需要验证? – Rodolfo

回答

2

我发现这个博客,涵盖所有重要的点...

http://davidtong.me/upgrading-jquery-from-1-4-x-to-1-6-1

转述提示:

  • 你应该检查每个使用.attr() ...还有很多应该现在是.prop()
  • JSON解析在1.5+中更加严格
  • 新的AJAX模块有很多可以利用的改进。

这应该适用于所有1.4.x - > 1.6.x版本。

你可能也想看看的1.7 release candidate notes为即将临近,以及...

+0

美丽,谢谢 – Rodolfo

+0

看起来主要问题是关于attr在1.6版本中的变化,但后来在1.6.1中更加向后兼容。另一个主要变化是关于ajax,但这并没有影响到我,所以我只是替换了jquery文件,进行了测试,并且不必更改任何内容(就我所能测试的内容而言)。例如,仍然不完全确定attr和prop之间的区别是输入的“自动完成”属性还是道具? – Rodolfo

1

可以打破的东西是插件。你应该:

  • 检查插件兼容性官方指出
  • 仔细测试,它依赖于插件
0

您应该检查任何插件的兼容性和升级这些升级后彻底测试所有的每个功能。否则,它应该是相当无痛的。

1

查看发布说明并查看重大更改。看看有没有这些会影响你的代码,并从那里去。

个人而言,我仍然在我的一个项目B/C上使用1.4.2 ajax请求/数据的处理方式发生了一些变化(我不记得具体是什么),并且它完全打破了很多我的模型绑定等。

+0

是的,我正在阅读发行说明,但它就像15个版本,想知道是否有人有经验(像你)的经验,为他们打破了我应该寻找的东西。所以阿贾克斯指出。 – Rodolfo

+0

ajax的东西也取决于你在后端使用什么,我认为php是可以的,但asp.net mvc 2的模型绑定器真的不喜欢它。 – Patricia

1

在jQuery 1.6中有一些语义修复。

例如,defaultValuechecked等特定属性一直被认为是“属性”,但在过去,jQuery已经将它们作为“属性”进行访问。 jQuery 1.6现在可以正确访问prop而不是attr的“属性”。

因此,您可能需要更新使用attr()removeAttr(),酌情prop()removeProp()行代码。

否则,请检查每个插件的网站,看看是否有更新并应用它们。然后更新jQuery,看看会发生什么。你总是可以把它恢复原样。