不要使用 jquery-latest.js

发布于

本周早些时候,jQuery CDN 出现了一个问题,导致 jquery-latest.js 和 jquery-latest.min.js 文件在某些地理区域内无法访问几个小时。(这与 CDN 本身无关,而是与为 CDN 提供文件的存储库有关。)虽然我们始终希望实现 100% 的正常运行时间,但这一次停机事件突出了使用此文件的生产网站的数量。因此,让我们明确一点:在生产网站上不要使用 jquery-latest.js。

我们知道 jquery-latest.js 被滥用,因为 CDN 统计数据 显示它是最受欢迎的文件。如果它只是被开发者用于创建本地副本,则不会出现这种情况。jquery-latest.js 和 jquery-latest.min.js 文件旨在提供一种简单的方法来下载最新发布的 jQuery 核心版本。相反,一些开发者直接在他们的生产网站中包含了此版本,这使得用户在每次发布新版本的 jQuery 时都面临着网站崩溃的风险。当然,团队会尽力将这些风险降至最低,但 jQuery 生态系统非常庞大,我们在发布新版本之前不可能对所有内容进行检查。

为了最大限度地降低“破坏网络”的风险,jQuery 团队在 2013 年决定 jquery-latest.js 无法升级到 2.0 分支,即使从技术上讲这是最新版本。因为会有太多网站莫名其妙地停止使用旧版本的 Internet Explorer,而其中很多网站可能今天不再维护了。

随着 jQuery 的采用不断增长,即使是这种保障似乎也不足以防止对 https://code.jqueryjs.cn/jquery-latest.js 的不当使用。因此,我们决定停止更新此文件,以及它的缩小版本,将这两个文件永远保留在 1.11.1 版本。最新发布的版本始终可以通过 jQuery 核心下载页面CDN 主页 获取。开发者可以从这些页面之一下载最新版本,或者通过版本号在脚本标签中直接引用它。

Google CDN 团队加入了我们的努力,以防止意外的网络崩溃,不再更新 https://ajax.googleapis.ac.cn/ajax/libs/jquery/1/jquery.js 上的文件。该文件也将一直锁定在 1.11.1 版本。但是,请注意,此文件当前的缓存时间非常短,这意味着当你请求像 1.11.1 这样的完整版本时,你将失去 CDN 提供的长时间缓存的性能优势。

所以请广而告之!如果你看到某个网站直接使用 jQuery CDN 的 jquery-latest.js 或 Google CDN 的等效文件,请告知他们应该更改为特定版本。如果你需要最新版本,请从下载页面或我们的 CDN 页面获取。对于 jQuery 和 Google CDN,在脚本标签中引用文件时,始终提供完整的版本号。谢谢!

jQuery 1.11.1 和 2.1.1 发布

发布于

啊,空气中弥漫着春天的气息,新的 jQuery 1.11.1 和 2.1.1 也已盛开。这些只是小修补版本,不应该出现任何重大兼容性问题。来一场五月的狂欢派对,让你的朋友来参加测试。如果你发现问题,请告知我们,并提供一个简单的测试用例,使用 jsfiddle.netjsbin.com 演示问题。

如果你愿意,可以从 jQuery CDN 直接包含这些文件,或者将它们复制到自己的本地服务器上。1.x 分支包括对 IE 6/7/8 的支持,而 2.x 分支则不支持。

https://code.jqueryjs.cn/jquery-1.11.1.js
https://code.jqueryjs.cn/jquery-2.1.1.js

Google 和 Microsoft CDN 今天将获得它们的副本,就像你一样,所以请给他们几天时间发布文件,不要着急。如果你迫不及待地想开始,只需使用我们 CDN 上的文件,直到它们有机会发布。

也提供缩小后的文件(用于生产环境)和映射文件(用于调试)。如果你想使用映射文件调试缩小后的代码,请复制缩小后的文件,并在文件的末尾添加 //# sourceMappingURL 注释。
https://code.jqueryjs.cn/jquery-1.11.1.min.js
https://code.jqueryjs.cn/jquery-1.11.1.min.map
https://code.jqueryjs.cn/jquery-2.1.1.min.js
https://code.jqueryjs.cn/jquery-2.1.1.min.map

非常感谢所有参与此版本发布的人,包括测试、报告错误或提交补丁的人,包括 Benjy Cui、Christian Kosmowski、Jason Frank、Julian Aubourg、Jens Simon、John Hoven、John Madhavan-Reese、Jonathan Sampson、Jörn Zaefferer、Leo Balter、Louis-Rémi Babé、Michał Gołębiowski、Oleg Gaidarenko、Philip Jägenstedt、R.G. Otten、Rhys Evans、Richard Gibson、Rick Waldron、Rob Graeber、Rodrigo Rosas、Roman Reiß、S. Andrew Sheppard、Scott González 和 Timmy Willison。

以下是自上次正式发布版本(1.11.0 和 2.1.0)以来的更改。

jQuery 1.11.1 和 2.1.1 的通用更改

Ajax

属性

构建

核心

CSS

数据

尺寸

效果

事件

其他

jQuery 2.1.1

Ajax

属性

核心

CSS

事件

操作

选择器

支持

jQuery 1.11.1

CSS

jQuery 1.11.1 RC2 和 2.1.1 RC2 发布

发布于

春天已经来临,jQuery 1.11.1 和 2.1.1 的这些候选版本也已盛开。你知道这意味着什么吗?现在是认真测试的时候了!我们真的希望我们的下一个版本是稳定可靠的,为此我们需要你的帮助。请在你的项目和页面中试用这些文件,只需快速测试一下,我们将不胜感激。如果你发现了任何问题,请告知我们。

测试版文件位于 jQuery CDN 上,你可以直接从 CDN 包含它们(但不要在生产环境中使用它们!)。和往常一样,1.x 分支包括对 IE 6/7/8 的支持,而 2.x 分支则不支持。

https://code.jqueryjs.cn/jquery-1.11.1-rc2.js
https://code.jqueryjs.cn/jquery-2.1.1-rc2.js

以下是自上次正式发布版本(1.11.0 和 2.1.0)以来的错误修复。

jQuery 1.11.1 RC2 和 2.1.1 RC2 的通用更改

Ajax

属性

构建

核心

CSS

尺寸

事件

其他

jQuery 1.11.1 RC2

CSS

jQuery 2.1.1 RC2

Ajax

属性

核心

CSS

事件

操作

选择器

jQuery 芝加哥鹅卵石赠品和提交延期

发布于
jQuery Conference Chicago logo

正如我们在 2 月份的 jQuery 圣地亚哥大会结束时宣布的那样,我们很高兴 #jqcon 的下一站是芝加哥!如果你错过了这个消息,我们将在 2014 年 9 月 12 日和 13 日在永远 不眠之城 非风城扎营。我们将再次与 Bocoup 合作,将其变成一场为期四天的活动,在 9 月 11 日和 12 日带来 Roost

演讲者提交延期

虽然我们无法改变美国朋友们今天提交税务申报的截止日期,但我们可以提供我们自己的赦免形式:将我们的演讲者征集延期两周,直到四月底!如果你被收据淹没了——或者其他任何事情——并且认为你错过了提交的机会,那就松一口气吧,如果你不知道这个征集甚至已经开始了,那希望这可以给你足够的时间来提出一个完整的演讲提案。(如果你已经提交了,谢谢!)

我们在芝加哥的时段安排上做了一些尝试,所以如果你有一个演讲,你认为需要深入技术材料,持续 45 分钟或一个小时,或者想进行更长时间的动手研讨会,我们很想听听你的想法,并鼓励你通过content@jquery.org或在 Freenode 上的#jquery-content频道联系我们,提出关于你想法的问题。

加入我们

我们的早鸟票销售火爆,很可能在我们最初的早鸟截止日期 5 月 31 日之前售罄,所以如果你想在你的芝加哥深盘披萨预算中再省下 50 美元,你最好早点行动!

会议将在市中心的芝加哥喜来登酒店及大厦举行,如果你在我们房间预订中注册,我们可以为参加芝加哥 jQuery 和 Roost 的参会者提供优惠价格。

加入我们……一起!

我们一直认为 jQuery 和朋友在一起会更好,如果你有同事想一起参加或发送到会议,我们有提供赞助和折扣的团体套餐。联系我们,获取宣传资料,并了解如何让你的团队前往芝加哥!

一个“洛奇”式的开端

Pebble logo 如果 jQuery 首次进军美国中西部地区的前景还不够令人兴奋,我们很高兴地通知大家,我们将在整个门票销售过程中赠送经典的Pebble设备。我们将在每个月随机抽取购买了门票的人,并从中选出 2-3 位幸运儿,他们将在 9 月的会议上从我们(以及捐赠了这些设备的 Pebble 公司友好人士)手中获得 Pebble。你越早购买,中奖的几率就越大,所以你还在等什么?这篇文章已经结束了!

jQuery 1.12 及更高版本中的浏览器支持

发表于 作者

随着微软本月结束对 Windows XP 的支持,我们正在向 jQuery 社区提供关于浏览器支持变更的长期预告。

首先,不要惊慌!至少在接下来的六个月里,关于可以运行 jQuery 的浏览器,实际上并没有什么改变。我们的目标是让 Web 开发社区中的每个人都知道 jQuery 团队在未来一年的计划,以便大家能够做好相应的计划。

有什么变化?

虽然没有确切的日期,但我们计划在今年发布 jQuery 核心版本 1.12 和 2.2。jQuery 1.13/2.3 将在 2015 年某个时候发布。

jQuery 1.12:这将是最后一个支持 Internet Explorer 6 和 7 的版本。从今天起,不会再为它们添加任何功能请求或错误修复。只有针对这些浏览器的严重回归会在补丁版本(例如,1.12.1)中修复。jQuery 1.13 将支持 IE8 作为其最低浏览器。

jQuery 1.12 和 2.2:这将是最后一个支持 Opera 12.1x 和 Safari 5.1 的版本。从今天起,不会再为它们添加任何功能请求或错误修复。只有针对这些浏览器的严重回归会在补丁版本(例如,1.12.1 或 2.2.1)中修复。

jQuery 1.13 和 2.3:我们将删除针对我们不再支持的浏览器的 API 符合性特定补丁和解决方法,以便简化代码库。

你需要做什么:如果你的项目使用拉取最新版 jQuery 的包管理器,请记住,从 1.12 到 1.13 或从 2.2 到 2.3 的升级会减少浏览器覆盖范围。如果你需要支持旧版浏览器,你可能需要停留在 1.12 或更低版本。有关如何执行此操作的详细信息,请参阅你的包管理器的说明。

“支持”的含义

定义“支持”的含义比你想象的要复杂。在“未经测试的代码就是有问题的代码”这一前提下,jQuery 核心团队更愿意说,如果项目定期针对该浏览器运行单元测试,那么我们完全支持该浏览器。单元测试确保每个 API 在所有浏览器中返回一致的结果集。

即使我们支持某个浏览器,也可能存在我们无法合理修复的错误。例如,Internet Explorer 6 到 11异步触发焦点和模糊事件,使它们看起来同步所需的代码量很大。iOS 上的 Safari不支持onbeforeunload 事件,这几乎不可能模拟。直到上个月,Firefox不尊重fieldset 元素上的overflow: hidden。我们会努力与浏览器供应商合作修复这些错误。

对于我们没有正式支持的浏览器,我们仍然努力消除“致命错误”,例如初始化期间的脚本错误,这些错误会使页面完全无法使用。如果你想看看我们为了处理一些晦涩的问题而付出了多少努力,请查看这个在日文手机上出现的 Android 2.3 浏览器崩溃错误,它非常间歇性,难以诊断。在几个用户的帮助下,我们终于找到了问题所在,并找到了解决方法。

归根结底:我们只能确保持续为我们不断进行单元测试的浏览器和环境提供高质量的支持。但是,我们会尽力为任何流行环境中的浏览器提供一定程度的支持。最高优先级将是确保浏览器不会抛出错误。较低的优先级将放在确保旧版或罕见浏览器产生的 API 结果与现代浏览器完全相同。

现在谁还在使用旧版浏览器?

在查看浏览器统计数据时,不要看它们现在在哪里。想想它们在 2015 年会在哪里。总的来说,我们认为到那时,所有这些浏览器的市场份额都将降至个位数。如果StatCounter 的数据可靠的话,这些浏览器的市场份额已经降至个位数,并且在 jQuery 终于停止支持它们时,它们的份额会更低。

但最终,这些整个互联网的统计数据并不重要。真正重要的是你的网站访问者或你的 Web 应用程序用户是否正在运行特定浏览器。这是只有你能回答的问题。决定是否升级到新的 jQuery 版本始终掌握在你这个开发人员的手中。

浏览器一致性的神话

今天以及在未来很长一段时间内,jQuery 仍然会包含数十个特定于浏览器的修复程序,以规范行为。目前,对 jQuery 2.x 来说,最麻烦的浏览器是 Android 2.3 中的浏览器。该版本仍然占 Android 安装基数的20%,并且仍然在新的移动产品中出货。在那里,一些 JavaScript 功能(如element.classList)不受支持,它也是最后几个仍然需要为标准化 CSS 属性使用-webkit-前缀的浏览器之一。

jQuery 项目的宗旨是让你的开发工作更轻松,因此我们会继续支持那些需要修复的错误,以消除流行浏览器上的不一致性。随着特定浏览器的市场份额逐渐降至零,我们将抓住机会删除它们的补丁并停止支持它们,以便简化我们的代码库。这会使所有 jQuery 页面都稍微快一点。

jQuery 1.11.1 Beta 1 和 2.1.1 Beta 1 发布

发表于 作者

自从我们上次发布的版本从无休止的冬天中逃脱以来,已经过去了几个月,所以我们认为发布一个 Beta 版来收集最近报告和修复的错误会很好。大多数这些错误从严重程度和频率上来说都是轻微的,但如果你没有受到影响,就更容易说出来!

与我们所有的 Beta 版本一样,我们发布它们是为了让你可以针对它们进行测试,并告诉我们它们是否修复了错误,而没有引入新的错误、意外行为或回归。请帮助我们,将这些文件放到你的项目和页面中,快速体验一下。如果你发现了任何不希望的更改,请在bugs.jquery.com 上告诉我们。

测试版文件位于 jQuery CDN 上,你可以直接从 CDN 包含它们(但不要在生产环境中使用它们!)。和往常一样,1.x 分支包括对 IE 6/7/8 的支持,而 2.x 分支则不支持。

https://code.jqueryjs.cn/jquery-1.11.1-beta1.js
https://code.jqueryjs.cn/jquery-2.1.1-beta1.js

以下是这些版本解决的错误

1.11.1/2.1.1 Beta 1 共有

Ajax

属性

构建

核心

CSS

事件

未归档

jQuery 1.11.1 Beta 1

CSS

jQuery 2.1.1 Beta 1

Ajax

属性

核心

CSS

事件

操作

选择器

支持

支持事业,改进网络

发表于 作者

为了帮助 jQuery 基金会完成其使命,即改进开放网络并使其对每个人都触手可及,我们建立了一个会员计划,让组织和个人可以加入基金会,帮助我们支持我们的目标。作为回报,会员将在我们的网站和会议上得到认可。从那时起,许多大大小小的公司,以及个人,都站出来支持基金会和 jQuery 项目的持续成功。可以在 jquery.org 上的会员页面上找到我们所有会员的完整列表。

企业会员资格

企业会员资格按支持级别划分,从青铜到铂金。在这些级别之上是我们的最高级别会员资格,称为创始会员。目前,WordPress 是我们唯一的创始会员,他们在 jQuery 基金会的使命中起着至关重要的作用,我们要向他们表示衷心的感谢。如果没有 WordPress 和我们各个级别的众多企业会员的支持,我们不会走到今天。

那么,作为对基金会的支持,会员可以获得什么呢?根据支持级别,我们以多种方式认可和感谢我们的会员。每个会员都会在会员页面上得到认可。随着你在会员级别的提升,你会获得更多福利,例如会议认可、免费和减价的会议赞助套餐、讨论 jQuery 项目的开发和方向的团队会议邀请,甚至可以自行举办 jQuery 授权活动。有关企业会员计划的更多信息,请发送电子邮件至membership@jquery.org

我不是公司,请问有什么可以帮您?

很高兴您询问。jQuery 基金会也拥有个人会员计划,人们可以捐赠少量资金来支持基金会,作为回报,我们会赠送一些带有 jQuery 品牌的精美商品。该计划刚开始时,我们为个人提供了三个级别的会员资格。但这对加入的会员和管理付款和礼品发放的人员来说都过于复杂。现在只有一个级别的个人会员资格,每年 400 美元。如果您仔细想想,这实际上每天只需花 1 美元,就可以帮助 jQuery 基金会运营。您可以在 会员页面 上查看我们所有的个人会员。随着新会员的加入,他们将被列为“英雄”,直到从 3 层级到 1 层级的计划过渡完成,每个人都合并到单个个人会员列表中。如果您对加入下一波个人会员充满热情,请访问 https://jquery.org/join/,加入我们的行列。

会员资格可能不是每个人都能选择,但您仍然可以通过多种方式支持基金会的工作。第一种方式是通过捐赠。jQuery 基金会接受 PayPal 的捐赠,无论金额大小。如果您对此选项感兴趣,请查看我们的 捐赠页面。帮助基金会的另一种方式是通过 DevSwag 为自己购买一件漂亮的 T 恤或一些贴纸。我们与 DevSwag 达成了合作,就像许多其他开源项目一样,授权销售官方 jQuery 品牌服装和其他商品,这些商品的部分收益将捐赠给 jQuery 基金会。

无论您是公司还是个人,我们都希望您能花时间考虑支持 jQuery 基金会,让我们继续努力,让网络对每个人都触手可及。

最后一点…

我们想再次提醒您即将到来的 圣地亚哥 jQuery 大会。大会将于 2 月 12 日至 13 日举行,之前是 Bocoup 为期两天的培训大会 Roost,将于 2 月 10 日至 11 日举行。别忘了使用优惠码 jqblog50 在结账时享受两场活动的 50 美元优惠!

托管和配置 jQuery 服务器

发布时间: 作者:

前几天,我们发布了关于 新内容工作流程 的文章,但没有深入探讨这些内容是如何实际提供的。信不信由你,jQuery 并不是只运行在 jQuery 上。

服务器

服务器本身托管在 Media Temple。多年来,我们一直使用他们的 VPS 服务来托管我们所有需要托管的东西,这些东西的数量令人惊讶。我们使用超过 12 台不同大小的服务器托管 jQuery 网络中的所有内容,包括许多对社区和开发团队至关重要的网站、应用程序和服务。Media Temple VPS 服务和网络对我们基础设施的可靠性一直非常出色。

设置

如果没有 Puppet,我们就无法管理所有服务器。 Puppet 是一种配置管理工具,它可以使用简单的脚本语言轻松地表达服务器配置。使用传统方法添加域到 Nginx 配置可能会很烦人,并且很难跟踪更改。使用 Puppet,我们可以将所有需要的服务器配置存储在 git 存储库中,并非常轻松地部署新机器。

另一个在我们设置中非常出色的产品是 Nginx。 Nginx 是一款开源 Web 服务器,专注于提供最佳性能。在高峰时间,我们最繁忙的 Media Temple 专用虚拟服务器上,Nginx 每秒处理约 300 个 HTTP 请求,其中约 30 个请求来自通过 php-fpm 从 WordPress 提供页面。Nginx 内置的 fastcgi_cache 处理了很大一部分负载,实际上只有 2 到 3 个请求每秒真正到达 PHP。

感谢您的支持!

维护一个服务器网络来支持像 jQuery 这样庞大的社区是一项艰巨的任务。为了确保一切顺利运行,我们依靠 jQuery 基础设施团队成员 Adam Ulvi 和 Ryan Neufeld,对于服务器和网络相关问题,我们依赖 Media Temple 团队的及时和有益的帮助。

为了庆祝 Media Temple 为 jQuery 社区服务 7 周年,他们正在对他们的 VPSGrid Hosting 提供特别优惠。在接下来的 5 天内,使用代码 **LovejQuery50** 购买 Grid 或 VPS(最高至 3 级)服务的年度套餐,可享受 50% 的折扣。

说到支持,如果您需要关于 jQuery 或相关网站和服务的任何帮助,请查看 我们的 IRC 频道,位于 freenode

jQuery 1.11 和 2.1 发布

发布时间: 作者:

在美国东部地区,我们躲在零下温度中,处理暴风雪过后的事宜。尽管如此,没有什么比最新发布的版本更能让我们振奋心情了——不,应该是两个版本。jQuery 1.11.0 和 2.1.0 已经准备好让您在这寒冷的冬夜感到温暖。

您可以像往常一样从我们的 CDN 获取文件,并直接使用它们或下载到您自己的服务器。我们的 下载页面 提供了所有您需要的文件和信息,包括指向承载这些文件的其他 CDN 的链接。只需给那些人几天时间更新即可!

对于那些一段时间没有关注的人来说,jQuery 的 1.x 和 2.x 分支都支持所有最新的现代浏览器,并且具有相同的 API。1.x 分支(这次是 1.11.0)增加了对旧版 Internet Explorer(IE6、7 和 8)的支持。2.x 分支(今天由 2.1.0 扮演)增加了对非传统 Web 环境(如 node.js 和 Chrome 和 Firefox 的浏览器插件)的支持。

jQuery 在 1.9 版本中进行了一次重大清理,删除了一些功能。如果您还没有从早期版本迁移,请参阅 jQuery 1.9 升级指南,并让 jQuery Migrate 插件 为您完成所有繁重的工作。

有什么新功能?

您可能想知道这些版本中有哪些很棒的新功能。也许您担心它们包含许多重大更改。您只是知道项目负责人会建议立即更新。这将占用您一整周的时间,以及您去佛罗里达州的旅行。不用担心!我们修复了一些错误,但其他功能和更改主要是一些组织性的更改,不会影响 API 的行为。您的代码不应该中断,它只是运行得更快一些。以下是亮点

更少的强制布局:在这个版本中,我们对可能会无意中强制浏览器执行耗时布局的地方宣战。我们找到了一些,并消除了一个,特别是当更改类名时可能会发生的布局问题。这可以提高某些页面的性能。

粒度自定义构建:我们的模块化现在由 AMD 定义,当空间有限时,更容易构建库的小型子集。如果您想了解更多信息,我们在 README 文件 中隐藏了这些细节,没有人会去看。

更低的启动开销:新的模块化和避免强制布局促使我们重构功能检测,以便它们在第一次需要时运行。如果您从未调用需要该功能检测的 API,那么您就不会运行该代码。以前,我们在页面加载时运行所有功能检测,这会导致延迟,这些延迟通常很小,但加起来会很大——尤其是在移动平台上。

发布到 npm:我们的版本现在将 发布到 npm,以便您可以将其与 node 或 browserify 一起使用。1.x 和 2.x 分支都可以在 npm 上使用,但请记住,只有 2.x 分支支持在 node 中运行。

发布到 Bower:我们现在在内部依赖管理中使用 Bower,包括 Sizzle,因此您将在 Bower 上看到 jQuery 版本,只要它们可用。

有些人询问关于在 jQuery 库中支持其他包管理器的问题,但我们决定只支持目前我们在内部使用的两个包管理器。有十几个包/依赖管理器,如果它们都能够就项目发布信息的单一格式达成一致,那就太好了。我们不希望包管理器的开销转嫁到像 jQuery 这样的单个项目。

虽然新事物总是充满魅力,但我们不想忽视人们在使用上一个版本时遇到的错误和不便之处。我们努力减少错误列表,并解决了许多错误。我们甚至修复了一个只在 IE6 中出现的错误,迟到总比不到好!

源映射更改

此版本不包含最小化文件中的源映射注释。源映射已被证明对开发人员来说是一件非常棘手和令人困惑的事情,它在 StackOverflow 等论坛上引发了 数百名困惑的开发人员,并导致一些人认为 jQuery 本身存在问题。

我们仍然会生成和分发源映射,但如果您浏览器不支持手动关联映射文件(目前没有浏览器支持),则需要在最小化文件的末尾添加相应的源映射注释。如果您使用自定义构建过程生成自己的 jQuery 文件,则源映射注释将出现在最小化文件中,并会生成映射;您可以将其保留并使用源映射,也可以将其编辑掉并完全忽略映射文件。

我们希望将来能恢复并改进源映射支持,但目前,无论是设计还是实现似乎都不适合 jQuery 的情况,因为 jQuery 的文件广泛分布在 CDN 上。我们希望源映射(以及支持它们的浏览器)能够优雅地处理文件重命名或文件丢失的情况。有关更多信息,请参见我们的 错误单

致谢

这次发布离不开很多人的辛勤工作。感谢所有报告错误、试用预发布文件或提供建设性批评的人。特别感谢 Alex Robbin、Amey Sakhadeo、Anthony Ryan、Aurelio DeRosa、Chris Antaki、Chris Price、Christopher Jones、Corey Frang、Daniel Herman、Domenic Denicola、Dominik D. Geyer、Forbes Lindesay、George Kats、Guy Bedford、Ilya Kantor、Jakob Stoeck、Jeremy Dunck、John Paul、Julian Aubourg、Jörn Zaefferer、Lihan Li、Marian Sollmann、Markus Staab、Marlon Landaverde、Michał Gołębiowski、Mike Sidorov、Oleg Gaidarenko、Richard Gibson、Rick Waldron、Ronny Springer、Scott González、Sindre Sorhus、T.J. Crowder、Terry Jones、Timmy Willison 和 Timo Tijhof。Colin Snover 在 #jquery-dev 中的评论也是团队难得的幽默来源。

更新日志

jQuery 1.11 和 2.1(两者通用)

Ajax

属性

构建

核心

CSS

数据

效果

事件

操作

其他

选择器

支持

jQuery 1.11

Ajax

属性

构建

核心

效果

支持

jQuery 2.1

Ajax

构建

核心

事件

从 GitHub 到 WordPress

发布日期为 作者

维护像 jQuery 这样的大型开源项目需要使用各种软件和服务。我们最依赖和最喜欢的两个产品是 GitHub 和 WordPress。

我们多年来一直使用和喜欢 GitGitHub。社区协作非常出色。我们看到了社区提供的错误修复、重构、新功能等的巨大增长。即使在团队内部,GitHub 提供的服务也极大地提高了生产力。分支和拉取请求为共享代码和同行代码审查提供了一个很好的机制。界面几乎以我们想要的方式呈现每个文件,尤其是 Markdown。API 和服务挂钩为自动化各种任务提供了一种好方法。

我们使用 WordPress 的时间甚至比使用 GitHub 的时间还要长,我们一直使用 WordPress 来管理我们各种网站。我们拥有数量惊人的网站。在项目网站、API 文档、教程、贡献指南、活动和组织网站之间,我们维护的网站数量与我们维护的代码项目数量不相上下。WordPress 提供了工具,使管理这么多具有共同品牌的网站几乎与维护一个具有共享用户、主题继承和强大插件架构的网站一样简单,提供的挂钩甚至比 GitHub 还要多。

缺失的部分

不幸的是,我们的 WordPress 体验缺乏我们喜欢的所有协作工具和工作流程。只有少数人可以访问以编辑内容,并且没有拉取请求的协作很痛苦。由于我们的基于 XML 的工作流程,在 api.jquery.com 上管理内容更加麻烦,而 WordPress 编辑器显然不是为此设计的。

虽然 GitHub 拥有我们喜欢的许多工具,他们甚至拥有 GitHub Pages,但它缺乏我们管理网站内容所需的架构。GitHub Pages 没有内置功能,也不能进行任何服务器端处理。搜索和评论等功能要么需要通过客户端 JavaScript 为每个站点添加,要么根本无法实现。

将所有内容整合在一起

为了解决这些问题,我们决定找到一种方法将这两个产品整合在一起,并获得两者的优势。一开始很坎坷,但我们还是做到了!当我们得到 WordPress 的首席开发者 Andrew Nacin 的支持时,事情开始有了起色。Nacin 在建立我们的新基础设施和确保我们尽可能高效地使用 WordPress 方面发挥了关键作用。在他的帮助下,以及一些新项目的帮助下——例如 node-wordpressgrunt-wordpressgrunt-jquery-content——我们能够构建我们想要的东西。

我们现在在 jquery-wp-content 中管理我们的 WordPress 主题,所有网站的内容都存储在 GitHub 上的单独存储库中 并进行管理。将每个网站的内容存储在 GitHub 上使我们能够享受到在问题中跟踪任务、在拉取请求中讨论、更改的视觉差异等所有好处。每个页面的内容由 grunt-jquery-content 从 HTML、XML 或 Markdown 源代码生成,具体取决于存储库。然后,使用 grunt-wordpress 将此内容同步到 WordPress。就像我们的代码一样,我们所有网站的内容都是开源的,并且根据 MIT 许可证的条款发布,我们的品牌除外,该品牌没有许可供他人使用。

我们现在使用这个新流程为十几个网站提供支持,平均每个网站有 20 个贡献者。我们最受欢迎的社区贡献网站是 learn.jquery.com,该网站即将突破三位数,以及 api.jquery.com,该网站目前有 50 个贡献者。我们平均每个网站有 40 个拉取请求,这表明这个新工作流程对团队和社区来说有多么有利。如果您想加入这个社区努力,您可以在我们的贡献网站上 详细了解我们的流程以及如何参与,并帮助让 jQuery 变得更强大。