jQuery 1.4 Alpha 1 发布
最新的消息:jQuery 1.4 Alpha 1 发布了!这是 jQuery 1.4 的第一个 Alpha 版本。代码是稳定的(通过了我们支持的所有浏览器的所有测试),功能齐全(我们不再接受该版本的新功能),需要在实际应用程序中进行测试。
获取代码
注意:如果您使用的是 jQuery 1.4a1 并遇到错误,请确保您使用的是代码的常规版本,这将有助于您更容易发现错误发生的位置。
我该如何帮助?
首先,尝试将上面未压缩的 jQuery 1.4a1 版本放入您正在运行的实际应用程序中。如果您遇到异常或出现奇怪的现象,请立即登录错误跟踪器并提交错误报告。请务必提及您在 jQuery 1.4a1 中遇到了错误!
我们将密切关注收到的错误报告,并努力解决 jQuery 1.3.2 和 jQuery 1.4 之间的任何不一致。
需要注意的地方
自 jQuery 1.3.2 发布以来,jQuery 中的一些区域已经发生了重大变化。
- live 进行了彻底的改造,现在在所有浏览器中都支持 submit、change、mouseenter、mouseleave、focus 和 blur 事件。现在还支持上下文和数据。
- append、prepend 等 进行了大量优化。
- add 进行了调整,始终以文档顺序返回元素。
- find、empty、remove、addClass、removeClass、hasClass、attr 和 css 进行了大量优化。
有关该版本的完整细节即将发布 - 目前,我们只需要您的帮助来发现回归。在John Resig 在 2009 年 jQuery 大会上的主题演讲 中可以找到更多详细信息。
注意:仍然有一些未解决的错误,我们将在线下进行审查,然后再发布 jQuery 1.4 正式版。
有了您的参与,我们应该能够发布一个稳定的版本。现在,我们计划在节日季之前发布至少一个 Alpha 版本,并在 1 月初发布最终候选版本。感谢您帮助审查 jQuery 1.4a1!
我想现在已经太晚了,但我非常希望看到 $.getJSON() 升级以支持 error 和 beforeSend 回调,以及 $.ajax() 方法中其他一些功能。这个插件似乎很合适:http://code.google.com/p/jquery-jsonp/
感谢大家为 1.4 做出的贡献。
我对 .live 的变化最兴奋。这将使生活变得容易得多。
:)
感谢所有贡献者。
感谢这个很棒的版本。我将在我的实际项目中测试它!
@slowernet: 在 jquery-dev 列表中,Julian Aubourg(该插件的作者)一直在努力重新编写 jQuery.ajax(),这将使之成为可能(同时使扩展 jQuery.ajax 更容易)。我们将此计划安排在 1.4 发布之后,因为这将是一项巨大的工作,可能会导致很多代码发生变化 - 不想在发布前夕破坏代码。不过,请务必注意,这将在 1.4 发布后很快推出!
http://groups.google.com/group/jquery-dev/browse_thread/thread/314deb5ad4056621
太棒了!
是否存在任何向后不兼容的更改?或者文档中的所有内容都应该在这个(预)发布版本中有效?
@Michael: 没有重大向后不兼容的更改。我在上面提到了可能出现(意外)问题的一些区域,但如果您发现任何问题,我们绝对希望立即解决。
@slowernet,我同意 jquery-jsonp 对于那些在等待新 ajax 功能的人来说是一个很棒的库。我将其用于 Twitter 工具,它非常棒。
我还想提一下,在 1.4 中,jQuery.param 方法已经完全重写。我在我的 jQuery BBQ 插件中创建了一个补充的 jQuery.deparam 方法,这里有一个示例。
http://benalman.com/code/projects/jquery-bbq/examples/deparam/
现在正在一个新的 ASP.NET MVC 项目中尝试它。
太棒了!
这个新的压缩版 jQuery 1.4a1 为 88kb,而 1.3.2 为 52kb。如果它们使用相同的流程压缩,这个 70% 的大小增加(不知道有多少 gzip)会保留在最终版本中吗?如果没有,目标大小增加是多少?
我发现很难从一堆信息有限的幻灯片中获得我需要的所有信息。是否会有一份关于这些变化的更详细的文档?
在幻灯片中,我看到主要是一些速度和代码优化。1.3 有几个新功能。我个人很喜欢这一点,因为 jQuery 对于我来说已经非常完整了。我也很喜欢体积减少。
这意味着 jQuery 功能齐全了吗?未来版本是否有计划推出新功能?
(哦,我错了,将旧版本的尺寸与新版本混淆了 :))
很高兴看到这次发布以及您对 Live 的更改。总的来说,jQuery 真是一个很棒的工具,它让我的网页开发/设计工作变得轻松了许多(也快了许多)。非常感谢:)
@csulok:我将引用我在 Hacker News 上发表的关于同一问题的评论
@Blaise:当然,未来版本将会有更多功能。例如,在 1.4 版本之后,我们已经在着手研究如何让 jQuery 在移动设备上更好地运行,如何更轻松地开发 Firefox 扩展,以及如何使核心更具可扩展性。总有提升的空间,但您可以放心,我们会努力让功能集保持简洁和恰到好处。
@JohnResig 在 jQuery .empty() 函数的代码中,您遍历所有子元素并将它们删除。这样做有原因吗?看起来直接将元素的 innerHTML 设置为“”会更快,因为您要删除所有子元素。只是好奇!
.live() 太棒了。
@Devon:主要是因为 innerHTML 可能会出现很多错误——而且它无法在所有文档类型中使用。我们肯定会检查一下这个问题,但它需要额外的逻辑。
感谢你们的辛勤工作。我们目前正在测试使用 Dean Edwards JS 压缩器打包的新版本。
请在下一个版本中考虑这个 bug!这是一个很烦人的 bug,而且相对容易修复。
http://dev.jquery.com/ticket/5505
以下是失败的测试
http://pastie.org/728826
感谢这个很棒的更新,特别是新的 live 事件:)
信息
常规版本在第 3691 行缺少分号
filter = style.filter || jQuery.curCSS( elem, ‘filter’ ) || “”;
好吧,您已经有了 .html() 和 .text() 函数。这些函数中的逻辑不是已经写好了吗?
@Zanda:该问题的修复程序已经加入到 jQuery 核心代码中——谢谢!
@Devon:您说得对——我们在 .html() 中确实有这方面的逻辑,这是在这个版本中添加的。我会重新检查一下这个问题,看看它是否能带来任何切实的好处。
@JohnResig:如何才能信任这个最新的版本,将其用于生产环境?我非常需要跨浏览器的 ‘change’ 支持,但是如何才能确保它不会影响到我的其他开发工作?我知道这是 alpha 版本,但变化似乎并不大,对吧?
感谢你们的辛勤工作。我们目前正在测试新版本,在通过 $.ajax 使用 json 数据类型加载我们的网页模板时,出现了一些 ‘parsererrors’ 错误,而 1.3.2 版本的代码则可以正常工作。
您好。
为什么不像这样在浏览器对象中实现浏览器的语言设置和 Chrome 浏览器?
language: navigator.language? navigator.language : navigator.userLanguage,
chrome : /chrome/.test(navigator.userAgent.toLowerCase())
提前感谢您。
您好
我想更多地了解您的开发团队!
这可能吗?
如果有的话,API 有哪些变化?
(我需要更新我的备忘单)
好消息!看起来 API 没有太大变化,但性能方面进行了优化……很有趣。
祝贺!我期待着这个版本的发布,并将很快研究 alpha 版本。这一轮有很多改进。
我喜欢 JQuery 在 1.3 版本中引入的模块化,将来我们可以看到针对所有模块的自动压缩器和打包器吗?这样我们就可以只选择使用的模块,而不是整个库。
考虑到 1.4 向后兼容 1.3,它是否与 jqueryui 1.7.2 兼容?
@JohnResig 我在我的博客中分享了关于 jQuery.empty 函数的发现。结果表明,在所有浏览器中,除了 Firefox,innerHTML(通过 jQuery 1.4 .html())比 .empty 更快。但我确实想出了一个快速清空的方法——在某些情况下,它比当前的 jQuery 版本快 10 倍以上。最快的方法是浅克隆父元素并用它替换。查看这篇文章:http://devongovett.wordpress.com/2009/12/12/how-to-make-jquery-empty-over-10x-faster/.
@matt 到目前为止,我还没有发现 jQuery UI 存在任何问题,但我也没有进行过任何广泛的测试。
如果在任何 1.3.2 正常运行的地方它都不起作用,那就应该报告。
哇!我对 closest() 方法的“上下文”参数感到高兴。感谢您添加此功能。这使得编写事件处理程序更容易。
Pingback: jQuery: » jQuery 1.4 Alpha 2 Released