jQuery 基金会与标准

发布于 作者

多年来,jQuery 基金会一直致力于让 Web 开发者在标准制定过程中拥有发言权。 这就是为什么我们很高兴能够正式建立我们与 chapters.io 的合作关系,这是一个努力,它使我们能够与全球的聚会和支持者合作,帮助开发者更多地了解最新的标准并讨论当前的提案。

我们的首个活动将是一个定期论坛,由我们自己的代表共同组织,并得到宾夕法尼亚州匹兹堡的 Code and SupplyBearded 的支持。 8月2日星期二,Brian Kardell 将在 Code and Supply 的常规聚会上 发表演讲,更多地讨论标准和 chapters。 从那里我们将组织第一次会议。 如果您在匹兹堡并且从事 Web 开发,请来参加。 如果您有兴趣在您的城市组织和举办聚会,请在 jQuery 基金会的标准团队 GitHub 上提交 issue,我们将尽力找到可以帮助协调的人员。

jQuery 基金会知道 Web 在开发者参与的情况下才能达到最佳状态,但传统标准并没有将这一点纳入其模式。 标准通常由浏览器制造商和在结果中拥有重大利益的大公司推动。 有时标准对这些群体来说是合理的,但当在互联网的严酷现实中部署时,效果却不佳。

2011年10月,Addy Osmani 在博客上发表文章宣布成立 jQuery 标准团队,任命 Yehuda Katz 和 Paul Irish 来帮助代表开发者社区参与 W3C 和 TC39。 多年来,许多 jQuery 代表为倡导开发者并改善标准制定过程做出了很多努力。

事实上,自那时以来,标准已经有了很大的改进——而 jQuery 过去和现在的代表在沿途的每一步都提供了帮助。

2012年12月,我们帮助选举了一批候选人来改革 W3C。 2013年,jQuery 成员如 Yehuda Katz、我自己(Brian Kardell)、Paul Irish 和 Rick Waldron 帮助撰写了 可扩展 Web 清单。 这份文件为我们如何重新关注标准、纳入开发者的声音并重新构想更好的未来奠定了新的愿景。 在过去的几年里,这种愿景逐渐成为 Web 标准机构中推动力的源泉。 然后,在 2014 年,再次是 jQuery 呼吁 W3C 的年度会议 (TPAC) 官方采用、支持并找到更好的方法来纳入开发者的声音。

可扩展 Web 清单与 Addy 在原始帖子中表达的许多相同原则有关:它鼓励标准机构让开发者参与进来,并创建加强反馈循环的方法。 正如 Addy 在原始帖子中所说

……我们有多少次觉得我们的声音、建议和想法被那些负责定义这些标准的人听到? 现实是,尽管我们中的许多人希望看到改变,但由于时间限制和冗长的正式流程,我们无法参与标准讨论、参与编写规范以及为功能的未来贡献会议。 这使得 Web 开发者难以发声。

传统的标准参与模式无法规模化。 数百万开发者无法飞往世界各地参加会议,数百万人的邮件列表也无法规模化。 Chapters 的目标是提供一个开发者和标准之间的桥梁,使每个人都能参与其中。 如果这听起来很有趣,请参与并参与进来! 让你的声音被听到!

jQuery 3.1.0 发布 – 不再有静默错误

发布于 作者

不久前,我们发布了 jQuery 3.0。jQuery 3.0 的主要功能之一是对 jQuery Deferreds 进行了一次小规模的重写。具体来说,我们使其与 Promises/A+ 规范兼容。这意味着错误必须被静默并作为拒绝值传递给拒绝处理程序(使用 deferred.catch() 添加)。这有防止 Promise 处理程序被运行时错误阻塞的优点,但如果未添加拒绝处理程序,则错误被静默的缺点。虽然这对 Deferreds 来说是正确的做法,但我们也更改了 jQuery.readyjQuery.fn.ready,使其在底层使用新的符合规范的 Deferreds。

不幸的是,如果您使用通常的方式来附加 ready 处理程序(例如 jQuery(function() {})jQuery(document).ready(function() {})),则无法添加拒绝处理程序。此外,不明显您处于 Deferred 环境中。任何运行时异常都会被吞噬并丢失在太空中。我想它们最终会出现在冥王星附近,而冥王星甚至都不是一颗行星了!虽然有一些 解决方法,但这对我们来说是不可接受的。

我们立即着手解决这个问题,因此 jQuery 3.1.0 诞生了。错误将不再保持静默!默认情况下,您会看到它们记录到控制台。如果您希望对这些错误的处理方式有更多控制,我们还添加了一个入口点:jQuery.readyException。在大多数情况下,您不需要使用它,但任何在 ready 处理程序中抛出的错误都会传递给此函数(如果您需要它)。

jQuery.readyException =
  function(error) {
    // "error" is thrown from
    // any ready handler
  };

默认的 jQuery.readyException 将异步地重新抛出错误,以避免停止执行并将其记录到控制台。我们希望这能解决您在使用 jQuery 3.0 时可能遇到的任何调试问题。

我们不期望此版本有任何破坏性更改,但如果您在从以前的版本升级时遇到错误,请 告诉我们

如果您需要帮助从 jQuery 1.x 或 2.x 升级到 jQuery 3.0,请查看 3.0 升级指南jQuery Migrate 1.4.1 博客文章

3.1.0GitHub changelog

下载

您可以直接从 jQuery CDN 包含这些文件,也可以将它们复制到您自己的本地服务器。

https://code.jqueryjs.cn/jquery-3.1.0.js
https://code.jqueryjs.cn/jquery-3.1.0.min.js

精简版

有时你不需要 ajax,或者你更喜欢使用许多专注于 ajax 请求的独立库。而且,通常使用 CSS 和类操作进行所有网络动画会更简单。除了包含 ajax 和效果模块的常规 jQuery 版本之外,我们还发布了一个“精简”版本,该版本排除了这些模块。总而言之,它排除了 ajax、效果和当前已弃用的代码。尽管这些天 jQuery 的大小很少成为加载性能问题,但精简版本比常规版本小约 6k gzip 字节 – 23.6k 与 30k。这些文件也可用在 npm 包和 CDN 上

https://code.jqueryjs.cn/jquery-3.1.0.slim.js
https://code.jqueryjs.cn/jquery-3.1.0.slim.min.js

这些更新已经作为 npm 和 Bower 上的当前版本提供。有关获取 jQuery 的所有方式的信息,请访问 https://jquery.org.cn/download/。公共 CDN 今天会收到其副本,请给它们几天时间来发布文件。如果您急于开始,请使用我们 CDN 上的文件,直到它们有机会更新为止。

非常感谢所有参与此版本测试、报告错误或提交补丁的人员,包括 Oleg GaidarenkoMichał Gołębiowski 和整个 jQuery 团队。