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 进行了调整,始终以文档顺序返回元素。
  • findemptyremoveaddClassremoveClasshasClassattrcss 进行了大量优化。

有关该版本的完整细节即将发布 - 目前,我们只需要您的帮助来发现回归。在John Resig 在 2009 年 jQuery 大会上的主题演讲 中可以找到更多详细信息。

注意:仍然有一些未解决的错误,我们将在线下进行审查,然后再发布 jQuery 1.4 正式版。

有了您的参与,我们应该能够发布一个稳定的版本。现在,我们计划在节日季之前发布至少一个 Alpha 版本,并在 1 月初发布最终候选版本。感谢您帮助审查 jQuery 1.4a1!

关于“jQuery 1.4 Alpha 1 发布”的 35 条评论

  1. @slowernet: 在 jquery-dev 列表中,Julian Aubourg(该插件的作者)一直在努力重新编写 jQuery.ajax(),这将使之成为可能(同时使扩展 jQuery.ajax 更容易)。我们将此计划安排在 1.4 发布之后,因为这将是一项巨大的工作,可能会导致很多代码发生变化 - 不想在发布前夕破坏代码。不过,请务必注意,这将在 1.4 发布后很快推出!
    http://groups.google.com/group/jquery-dev/browse_thread/thread/314deb5ad4056621

  2. @Michael: 没有重大向后不兼容的更改。我在上面提到了可能出现(意外)问题的一些区域,但如果您发现任何问题,我们绝对希望立即解决。

  3. @slowernet,我同意 jquery-jsonp 对于那些在等待新 ajax 功能的人来说是一个很棒的库。我将其用于 Twitter 工具,它非常棒。

  4. 太棒了!

    这个新的压缩版 jQuery 1.4a1 为 88kb,而 1.3.2 为 52kb。如果它们使用相同的流程压缩,这个 70% 的大小增加(不知道有多少 gzip)会保留在最终版本中吗?如果没有,目标大小增加是多少?

  5. 我发现很难从一堆信息有限的幻灯片中获得我需要的所有信息。是否会有一份关于这些变化的更详细的文档?

    在幻灯片中,我看到主要是一些速度和代码优化。1.3 有几个新功能。我个人很喜欢这一点,因为 jQuery 对于我来说已经非常完整了。我也很喜欢体积减少。

    这意味着 jQuery 功能齐全了吗?未来版本是否有计划推出新功能?

  6. 很高兴看到这次发布以及您对 Live 的更改。总的来说,jQuery 真是一个很棒的工具,它让我的网页开发/设计工作变得轻松了许多(也快了许多)。非常感谢:)

  7. @csulok:我将引用我在 Hacker News 上发表的关于同一问题的评论

    我们正在尝试 Closure Compiler——看起来,使用简单的编译选项,它可以将代码大小降至约 64KB(压缩后),21.6KB(gzip 压缩后)(与上一版本相比,只增加了很小的 2-3KB)。

    (不)幸的是,我们在这次发布中进行了大量的重构。jQuery 的内部结构有点复杂,需要进行一些严肃的改进。不用说,现在情况好多了:代码更简洁,变量命名更加一致,内部结构也更合理。所有这些都将实现两个目标:更简洁、更易读的代码,以及能够动态加载 jQuery 的部分内容(针对移动开发)。

    jQuery 1.4 是 jQuery 向成为最佳的桌面和移动开发 JavaScript 库迈出的第一步——很快您将看到更多相关信息。

    @Blaise:当然,未来版本将会有更多功能。例如,在 1.4 版本之后,我们已经在着手研究如何让 jQuery 在移动设备上更好地运行,如何更轻松地开发 Firefox 扩展,以及如何使核心更具可扩展性。总有提升的空间,但您可以放心,我们会努力让功能集保持简洁和恰到好处。

  8. Devon Govett 说:

    @JohnResig 在 jQuery .empty() 函数的代码中,您遍历所有子元素并将它们删除。这样做有原因吗?看起来直接将元素的 innerHTML 设置为“”会更快,因为您要删除所有子元素。只是好奇!

  9. @Devon:主要是因为 innerHTML 可能会出现很多错误——而且它无法在所有文档类型中使用。我们肯定会检查一下这个问题,但它需要额外的逻辑。

  10. 感谢这个很棒的更新,特别是新的 live 事件:)

    信息
    常规版本在第 3691 行缺少分号
    filter = style.filter || jQuery.curCSS( elem, ‘filter’ ) || “”;

  11. Devon Govett 说:

    好吧,您已经有了 .html() 和 .text() 函数。这些函数中的逻辑不是已经写好了吗?

  12. @Zanda:该问题的修复程序已经加入到 jQuery 核心代码中——谢谢!

    @Devon:您说得对——我们在 .html() 中确实有这方面的逻辑,这是在这个版本中添加的。我会重新检查一下这个问题,看看它是否能带来任何切实的好处。

  13. @JohnResig:如何才能信任这个最新的版本,将其用于生产环境?我非常需要跨浏览器的 ‘change’ 支持,但是如何才能确保它不会影响到我的其他开发工作?我知道这是 alpha 版本,但变化似乎并不大,对吧?

  14. 感谢你们的辛勤工作。我们目前正在测试新版本,在通过 $.ajax 使用 json 数据类型加载我们的网页模板时,出现了一些 ‘parsererrors’ 错误,而 1.3.2 版本的代码则可以正常工作。

  15. 您好。
    为什么不像这样在浏览器对象中实现浏览器的语言设置和 Chrome 浏览器?

    language: navigator.language? navigator.language : navigator.userLanguage,
    chrome : /chrome/.test(navigator.userAgent.toLowerCase())

    提前感谢您。

  16. Sean Catchpole 说:

    祝贺!我期待着这个版本的发布,并将很快研究 alpha 版本。这一轮有很多改进。

  17. Vladimir Carrer 说:

    我喜欢 JQuery 在 1.3 版本中引入的模块化,将来我们可以看到针对所有模块的自动压缩器和打包器吗?这样我们就可以只选择使用的模块,而不是整个库。

  18. Devon Govett 说:

    @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/.

  19. Stephen J. Fuhry 说道:

    @matt 到目前为止,我还没有发现 jQuery UI 存在任何问题,但我也没有进行过任何广泛的测试。

    如果在任何 1.3.2 正常运行的地方它都不起作用,那就应该报告。

  20. 哇!我对 closest() 方法的“上下文”参数感到高兴。感谢您添加此功能。这使得编写事件处理程序更容易。

  21. Pingback: jQuery: » jQuery 1.4 Alpha 2 Released