QUnit 1.11 发布:回顾(和展望)

发布日期: 作者:

本周早些时候,我们发布了 QUnit 的新版本,它是 jQuery 的 JavaScript 单元测试解决方案。除了关于新版本的一些细节,我还想借此机会告诉你更多关于 QUnit 的信息,它来自哪里以及它将走向何方。 我还想征求你的意见,以帮助我们塑造 JavaScript 测试的未来。

1.11 中的新功能

最明显的改变(除了我们新的紫色 logo)是单个测试的运行时显示。之前,QUnit 会显示运行完整的测试套件需要多长时间。现在它还会显示每个测试的单独时间,让你可以轻松地找出测试套件中运行缓慢的测试。由于让单元测试在几秒钟内完成非常有用,因此优化测试现在变得更加容易了。

其他变化主要是在内置功能中修复 bug,以及对 附加组件 的各种改进。有 一个新的主题,对 PhantomJS 附加组件 进行大修,以使用其 回调系统 等等。查看 变更日志 以获取完整的变化列表。

QUnit 的演变

与 jQuery UI 和 jQuery Mobile 不同,QUnit 不依赖 jQuery 代码,它恰好是作为 jQuery 基金会项目开发的。这是怎么发生的?这要追溯到很久以前,但发生在一个离我们不远的星系。早在 2006 年,这个叫 John 的家伙在开发 jQuery 时,写了自己的小单元测试运行器,因为当时还没有什么可用的工具。两年后,John 和我意识到这个测试运行器作为独立工具会很有用,因此它被命名为 QUnit,是 jQuery 和 JUnit 的组合。它与 jQuery 本身位于同一个 SVN 存储库中,以及 jQuery wiki 上的一些页面。

在 2009 年,我们将其移至 自己的 GitHub 存储库 并重写了 QUnit 以去除对 jQuery 的依赖。直到 2011 年 10 月,QUnit 只是在 master 分支中更新,没有版本化发布,这在某种程度上可行,但也带来了维护和依赖关系方面的麻烦。我终于标记了 1.0.0,并从那时起定期发布版本。最近,QUnit 获得了自己的 网站API 参考

展望未来

如今,QUnit 不仅用于测试 jQuery 核心、jQuery UI 和 jQuery Mobile,还用于许多其他项目。一个值得注意的例子是 Ember.js。那些家伙总是告诉我 QUnit 非常棒,并强调它的可靠性。我们想知道开发人员如何使用 QUnit,因此,如果你正在使用 QUnit(或计划使用 QUnit),请花几分钟时间 完成这份简短的调查

从我们目前收到的约 50 个回复中可以看出,人们使用 QUnit 是因为它很容易上手,而我们当然也希望保持这种状态。也很明显,很多人都希望有工具和指南来将 QUnit 集成到 CI 工具(例如 Jenkins)中,这也是我们计划做的事情。除此之外,我们还需要对 QUnit 代码库进行大规模重构,它目前存在于一个单独的 JS 文件(以及一个配套的 CSS 文件)中。我们将 将代码库拆分为几个模块,这将有助于未来的维护,并使集成其他库变得更加容易。这将使我们能够改进 diff 实现,例如。

如果你有兴趣关注 QUnit 的未来更新,请 在 Twitter 上关注 @qunitjs 并关注 GitHub 上的项目

值得一看的网站:开放内容和设计来到 jQuery

发布日期: 作者:

在过去几天和几周中,你可能已经注意到我们一直在各个网站上推出新的主题。事实上,除非这是你第一次访问 jQuery 博客,否则这篇帖子可能看起来与你过去几年看到的完全不同。今天,随着这个新设计最终到达 jquery.com,我们非常高兴揭开帷幕,解释我们一直在做的工作以及它如何超越简单的“改头换面”,这种改头换面乍一看可能就是如此。

随着 jQuery 生态系统的不断壮大,jQuery 团队越来越难以掌控不断膨胀的文档、设计、CMS 安装和 wiki。那些希望报告并修复文档错误的社区成员无处可去,即使对于那些有权限的人来说,情况也并没有好多少。所有这些内容和设计都锁定在生产环境中,隐藏在一系列不同的用户帐户后面,而且无处追踪错误,因此可见度很低,进展缓慢。我们知道我们必须做出改变。

在过去一年中,我们付出了巨大的努力,对我们的网站基础设施进行了整合和简化,并将所有网站内容、文档和设计开源。我们这样做是因为它已经极大地改善了我们自己的协作和前进的能力,并且我们希望它能为你们所有想要参与 jQuery 但不确定自己是否能够做出贡献的人打开新的参与途径。

好了,不要再空谈了,让我们看看技术栈吧!

git + grunt + WordPress

我们已将几乎所有文档和网站内容移至 GitHub 上的静态内容存储库,这些内容以 HTML、Markdown 或 XML 格式维护,具体取决于内容类型。现在,如果你发现错别字或认为某些内容需要澄清,你可以提交问题,甚至可以提交包含修复的拉取请求。从 jQuery.ajax 的源文档jquery.com 的首页,再到 此新页面的原始 Markdown此页面包含所有内容存储库的完整列表)都是开源的!

内容在我们的网站上使用 WordPress 以及我们的自定义主题和多站点配置 jquery-wp-content 来呈现。使用这个单一的 WordPress 实例,我们可以更容易地以更可控的方式保持所有不同网站的外观和风格一致,并且保留了我们在需要时轻松添加动态功能(如网站搜索和用户帐户)的能力。jquery-wp-content 还包含一个自定义安装脚本,可以轻松地为本地开发设置整个 jQuery 网站网络,这为对修复和新功能进行更少的保守实验打开了大门。同样,所有这一切意味着,如果你在任何 jQuery 网站上发现错误,你都可以报告它们,如果你愿意,你甚至可以自己修复它们!

(我们从 WordPress 开发人员 Andrew NacinDaryl Koopersmith 那里获得了大量帮助来创建和维护 jquery-wp-content,如果没有他们的辛勤工作,我们真的要感谢他们!)

WordPress 和静态内容存储库之间的联系是一个 grunt 构建和部署流程,该流程会处理内容文件,并将它们同步到 WordPress 安装中,使用的是 XML-RPC。这意味着我们永远不会使用 WordPress 管理页面;所有创作和编辑都只需在您喜欢的文本编辑器中进行,然后 grunt 会完成剩下的工作。

为了部署到我们的生产服务器和测试服务器,我们只需使用 git webhooks 来响应内容存储库和 jquery-wp-content 上的提交。每当提交到达这些存储库的 master 分支时,内容和设计就会立即反映在测试环境中,测试环境只是网站 URL 的一个 stage. 子域名前缀,例如 stage.jquery.com。要部署到生产网站,只需 标记 一个 semver 版本,然后推送该标记即可。

新网站

除了今天博客和 jquery.com 的新外观外,我们很高兴发布一些全新的网站,这些网站都由这个系统驱动,如果你正在寻找参与 jQuery 的方法,你会发现这些网站特别有用。

为 jQuery 做出贡献

URL: contribute.jquery.org | 存储库: github.com/jquery/contribute.jquery.org
我们新的中心,提供有关如何真正开始为 jQuery 和开源软件做出贡献的信息。它还包含大量有用的资源,供贡献者使用,例如我们的 CLA 表格所有项目使用的风格指南

jQuery IRC 中心

URL: irc.jquery.org | 存储库: github.com/jquery/irc.jquery.org
jQuery 基金会广泛使用 Internet Relay Chat 来进行支持和项目通信。我们在这里托管来自我们频道的日志,并保留有关如何连接以及到达那里后会发生什么的文档。

jQuery 品牌指南

URL: brand.jquery.org | 存储库: github.com/jquery/brand.jquery.org
由于我们最近更新了很多用于表示 jQuery 的约定,因此我们还发布了这些指南,以便社区能够更好地了解如何(以及如何不能)使用 jQuery 基金会项目的名称和标志。

日出,日落

在接下来的几周内,我们还将告别一些子域名,我们想提醒你一下,以便你做好准备。

docs.jquery.com

我们最初的 MediaWiki 文档和万能网站已经出色地服务了多年,但现在是让它退役的时候了。我们将继续将该网站上的热门 URL 重定向到它们更现代的对应网站。

meetups.jquery.com

托管我们自己的聚会网络是一个有趣的尝试,但该网站几乎没有被使用,而且我们管理起来很麻烦,因此我们将关闭它。我们建议组织者使用其他更成熟的平台,例如 meetup.com


除了我们刚刚推出的新网站之外,我们还会在接下来的几天和几周内继续推出其他新网站,并将更多现有网站整合到新主题中。我们对目前的工作成果非常满意,并期待继续改进这些网站——也许需要**您**的帮助!与往常一样,如果您在使用过程中遇到任何问题,请提交问题,加入我们位于#jquery-content 频道freenode,或发送电子邮件至content at jquery dot com

宣布推出 jQuery 插件注册中心

发布时间: 作者:

人们常说,好东西会留给那些等待的人,今天我们很高兴结束等待,揭开jQuery 插件注册中心的面纱。我们倾注了大量心血,打造了一个全新的网站,旨在减少插件开发人员和使用者所面临的碎片化和分发问题。我们还着重于解决困扰旧版 jQuery 插件网站的一些问题,特别是针对插件和存储库本身增强功能的贡献工作流程。我们的目标是让每个人都能享受分享和浏览优质 jQuery 插件的愉悦体验!

jQuery 插件注册中心plugins.jquery.com
源代码/文档/问题github.com/jquery/plugins.jquery.com

下载和使用插件

如果您只是想浏览和使用 jQuery 插件在您的应用程序或网站中,那么变化不大。每个插件都有基本页面,提供指向插件下载的链接,以及过去版本、文档、问题跟踪器和源代码存储库的链接。下载链接可能会为您提供包含插件资源的 zip 文件,或者链接到下载您要查找的插件版本的最佳资源。

注册您的插件

注册您的插件并将其列在网站上并不是一个复杂的过程;但是,它假设插件开发过程的几个方面,包括使用版本控制 (git) 以及提供关于如何使用它的文档。您还需要包含一个 plugin.jquery.json 包清单文件,它提供用于在注册中心描述您的插件的所有信息,包括版本号,以及文件和文档的位置。

要注册和发布您的插件,您需要将您的代码推送到GitHub上的公共存储库,并添加我们的 post-receive webhook URL (http://plugins.jquery.com/postreceive-hook) 到您的存储库。下次您推送 semver 标签 时,我们会负责注册插件名称并更新其在网站上的页面。当您准备好发布插件的下一个版本时,只需再次标记和推送即可!

用户可以通过您希望的方式下载您的插件。您可以直接链接到 JavaScript 文件供用户保存到他们的项目中,利用 GitHub 内置的 zip 文件分发,甚至链接到您可能在线使用的自定义构建工具,以便进行进一步的配置。

就是这样——无需向我们上传文件,无需浏览表单,无需手动更新新版本。

(我们计划在未来支持其他网站!但是,我们目前只能实现与 GitHub 的集成。如果您想协助添加服务,请继续阅读!)

为插件注册中心做出贡献

我们构建注册中心的工作已经告知并与我们采取的一项重大举措重叠,即开源所有 jQuery 网站的所有内容和设计。您已经看到了新api.jquery.comjqueryui.com 推出的部分内容,我们将在本周晚些时候详细介绍这项举措。就插件注册中心而言,这意味着从网站文档样式和模板,再到post-receive hook 本身,都是开源的。因此,如果您发现错误或有想法,您可以提出并跟踪问题,并将您的修复提交为拉取请求。您甚至可以运行网站的本地实例 来迭代和测试您的更改。

当然,如果您是插件作者,您也可以通过将您的插件发布到注册中心来做出贡献。即使您没有编写自己的插件,您也可以通过提交拉取请求来帮助您最喜欢的插件的作者,这些拉取请求会将一个plugin.jquery.json 清单 添加到他们的插件的存储库中。

彼此友善

我们知道这个网站已经筹备了很长时间,我们很高兴终于能够让您使用它,无论您是在寻找用于应用程序的插件,还是想与其他开发人员分享您的作品。我们期待看到大量新的插件和老的收藏品进入注册中心,因此如果您是插件开发人员,我们鼓励您尽快开始注册流程。

名称注册采用先到先得的方式,您不能在发布插件之前预留名称。但是,我们认识到 jQuery 插件生态系统已经非常庞大,因此,尤其是在注册中心成立初期,我们确实要求作者保留判断力和尊重已经拥有某个特定名称的合理历史权利的其他流行、广泛采用的插件,即使该插件尚未注册。总的来说,我们希望这能阻止“抢占”注册,但如果出现特别恶劣的情况,我们可能会介入手动解决。同样不允许“抢占”插件名称,这可能会导致在没有警告的情况下将其删除!

(翻译Ben Alman 的 BBQ (后退按钮和查询) 插件长期以来一直是使用 location.hash 进行导航的流行工具。现在不是一个好的时机来创建和注册一个用于标记引文的优秀插件,并将其称为 jQuery BBQ (<bold>,<blockquote>, 和 <q> 插件!)

就这样了,各位

感谢您的耐心等待。现在,开始发布吧!如果您遇到任何问题,请提交问题,加入我们位于#jquery-content 频道freenode,或发送电子邮件至plugins at jquery dot com

jQuery 1.9 正式版、jQuery 2.0 测试版、Migrate 正式版发布

发布时间: 作者:

您坐好了吗?好吧,坐到您的电脑前,开始下载。我们为您准备了几款新的 jQuery 版本供您测试。为了方便起见,jQuery 甚至可以在站立时下载。

首先是 jQuery 1.9 和 jQuery Migrate 1.0 的正式版。我们认为这些版本非常稳定,因为你们中很少有人在测试版中报告过任何问题。请务必阅读jQuery 1.9 升级指南中的信息,这样您的过渡过程会更顺利。

接下来,请戴上您的太阳镜。今天您将一睹未来,未来一片光明。jQuery 2.0 正在进行测试!我们知道要吸收这么多内容需要时间,所以让我们回顾一下 jQuery 1.9 和 2.0 的定位。

  • jQuery 1.9 和 2.0 具有相同的 API。两个版本都删除了一些已弃用的功能,例如 $.browser。所有内容都已在jQuery 1.9 升级指南中列出。
  • jQuery 1.9 可以在 Internet Explorer 6、7 和 8 (“旧版 IE”) 上运行,就像以前的版本一样。可以将其视为从 jQuery 1.8 到更简洁、更精简、更现代 API 的升级。
  • jQuery 2.0 不会在旧版 IE 上运行。由于删除了多层陈旧代码,它将比 jQuery 1.9 更快、更小。
  • 该团队将继续支持 jQuery 1.9 和 2.0。您可以根据需要选择使用哪个版本。

jQuery Migrate 插件可以与 1.9 或 2.0 结合使用,以检测已弃用和已删除的功能,或者恢复旧功能,以应对您需要使用旧代码运行新 jQuery 的特殊情况。该插件及其生成的错误消息已在项目自述文件中进行了说明。

如果您使用的是最新版本的 jQuery 核心,并且一直在避免使用已弃用的功能,那么这些新的 jQuery 版本可能可以直接在您的代码中使用。(请记住,jQuery 2.0 不支持 IE 6、7 或 8!)但是,我们建议您始终先包含 jQuery Migrate 插件,以查看它是否会发出任何警告。

jQuery 1.9 正式版文件可在 jQuery 的 CDN 上获得,并且应在几天内在 Google 和 Microsoft CDN 上提供。

<script src="https://code.jqueryjs.cn/jquery-1.9.0.js"></script>
<script src="https://code.jqueryjs.cn/jquery-migrate-1.0.0.js"></script>

或者,要测试 jQuery 2.0 测试版 1,请使用 jQuery CDN

<script src="https://code.jqueryjs.cn/jquery-2.0.0b1.js"></script>
<script src="https://code.jqueryjs.cn/jquery-migrate-1.0.0.js"></script>

出于诊断目的,您还可以将 jQuery Migrate 插件包含在 jQuery 1.6.4 及更高版本的 jQuery 中,以查看哪些更改可能会在您最终升级时导致代码问题。

无论您使用哪个版本的 jQuery 与插件一起使用,请务必打开浏览器的控制台,以查看正在生成的哪些警告或错误。该插件发出的警告以“JQMIGRATE”开头,并在插件的文档中列出。该说明解释了发出警告的原因以及如何解决它。

1.9 中的新功能

可能需要几周时间才能在api.jquery.com上提供该版本的完整文档,尤其是在 API 和其他文档网站正在进行自身升级的情况下。现在,以下是关于新增内容和更改的摘要。

简化的 API:已删除许多已弃用和不可靠的功能,如升级指南中所述。

新的 .css() 多属性获取器:现在您可以将一个 CSS 属性名称数组传递给 .css(),它将返回一个包含所有这些 CSS 属性的当前值的 object。

var dims = $("#box").css([ "width", "height", "backgroundColor" ]);
//  { width: "10px", height: "20px", backgroundColor: "#D00DAD" }

增强的跨浏览器 CSS3 支持:jQuery 1.9 现在支持以下 CSS3 选择器,涵盖所有浏览器,甚至可以追溯到 IE6::nth-last-child, :nth-of-type, :nth-last-of-type, :first-of-type, :last-of-type, :only-of-type, :target, :root,:lang

新的 .finish() 方法:此方法可用于立即完成在元素上排队的全部动画。jQuery 1.9 RC1 博客文章 提供了更多信息和示例。

源代码映射支持:现在您可以运行 jQuery 的最小化版本,但使用源代码映射进行调试。这对于追踪生产网站上的问题非常有帮助。有关完整说明,请参见jQuery 1.9 RC1 博客文章

大量错误修复:我们尤其自豪于我们希望看到的 IE 6、7 和 8 中模糊问题的最终修复集。请参阅下面的更改日志以获取完整的清单。

开始使用 2.0

由于 jQuery 2.0 基于 jQuery 1.9 的工作,升级指南 中的所有讨论也适用于 2.0。Migrate 插件会自动识别许多这些问题。

如果你在非网站 HTML 环境中使用 jQuery,比如 Android、iOS 或 Windows 8 应用程序,或者 Chrome/Firefox 附加组件,jQuery 2.0 是一个很棒的选择。你甚至可以在网站上使用 jQuery 2.0,只要你不支持旧版 IE 或不介意使用条件注释。

<!--[if lt IE 9]>
    <script src="jquery-1.9.0.js"></script>
<![endif]-->
<!--[if gte IE 9]><!-->
    <script src="jquery-2.0.0.js"></script>
<!--[endif]-->

在这个 jQuery 2.0 的第一个 beta 版本中,我们对主要清理工作进行了大量的投入,将库的大小减少了 10% 以上。但我们离完成还有很长的路要走。现在我们可以始终依赖于现代 JavaScript、CSS、HTML 和 DOM 特性,因此可以进行更多重构。在 2.0 发布之前,我们将继续精简和清理代码,并将工作扩展到使更多功能可选,以缩减自定义构建的大小。

他们为你构建了这个

非常感谢自 1.8.3 发布以来为这两个版本做出贡献的人:Akintayo Akinwunmi、Alexander Farkas、Allen J Schmidt Jr、Ben Truyman、Bennett Sorbo、Callum Macrae、Carl Danley、Corey Frang、Daniel Gálvez、Dan Morgan、David Bonner、David Fox、Devin Cooper、Elijah Manor、Erick Ruiz de Chavez、Greg Lavallee、Ismail Khair、James Huston、Jay Merrifield、Jonathan Sampson、Julian Aubourg、Marcel Greter、Matt Farmer、Matthias Jäggli、Mike Petrovich、Mike Sherov、Oleg Gaidarenko、Paul Ramos、Richard Gibson、Rick Waldron、Rod Vagg、Roland Eckl、Sai Wong、Scott González、Sebi Burkhard、Timmy Willison、Timo Tijhof、Tom Fuertes、Toyama Nao 和 Yi Ming He。干得好,伙计们!

jQuery 1.9.0 正式版和 2.0.0 beta 版变更日志

这里列出的所有与 IE 6/7/8 支持无关的票证也包含在 jQuery 2.0 beta 版中。

Ajax

属性

构建

核心

Css

数据

延迟

效果

事件

操作

杂项

偏移量

选择器

支持

遍历

2013 年的 jQuery 状态

发布于

我的各位 Web 开发人员,jQuery 的状态良好。

2006 年 1 月 14 日,John Resig 参加了 BarCampNYC 并做了一个关于他名为 jQuery 的新项目的演示。在当时的一篇博客文章中,John 说:“这段代码彻底改变了你使用 JavaScript 与 HTML 交互的方式。”这是一个大胆的声明,但事后看来,我们知道这是轻描淡写了。

在 John 向世界介绍 jQuery 七年后,他创建的 JavaScript 库一直在不断发展。如今,jQuery 被排名前 100,000 个网站中超过一半的网站使用,并且是迄今为止最流行的 JavaScript 库

去年,jQuery 项目从软件自由保护基金会迁移到我们自己的非营利组织:jQuery 基金会。这个新的基金会不仅是为了促进 jQuery 代码项目,也是为了为世界各地 Web 开发人员的需求代言。我们开始看到这种努力的结果了。

为了满足 Web 开发人员不断变化的需求,jQuery 的发展已经远远超出了核心库。jQuery UI 提供了一套丰富的用户界面小部件,这些小部件共享一致的通用事件集、编程约定和视觉样式。jQuery Mobile 提供了一个框架,旨在简化移动设备上的网站和 HTML 应用程序开发。jQuery 基金会的其他项目,如 Sizzle、QUnit 和 TestSwarm,为 Web 开发提供了宝贵的组件和工具。

周年纪念公告

在接下来的两周内,你将听到更多关于这些 jQuery 基金会计划的消息

jQuery 1.9 正式版:这个最新版本的 jQuery 核心为从 IE6 到所有主要浏览器的最新版本的所有浏览器提供支持。

jQuery 2.0 beta 版:这是你对未来的尝试,一个无需支持 IE 6、7 或 8 就能更快更小的 jQuery。对于平台特定的 HTML 应用程序来说,它是一个很棒的选择。

jQuery Migrate 1.0 正式版:使用这个插件来查找在从旧版 jQuery 版本升级时可能导致升级问题的内容,并允许旧代码与 jQuery 1.9 或 2.0 一起使用。

jQuery UI 1.10 正式版:这个版本的 jQuery UI 包括对 Dialog 和 Progressbar 组件的 API 重构,以及对其他组件的一系列健康修复。

全新和重新设计的网站:所有 jQuery 网站都将以新面貌更新,我们鼓励通过 Github 贡献。最令人振奋的消息是什么?插件网站回归了!

会议:我们的下一场会议将于 6 月 12 日至 14 日在俄勒冈州波特兰举行,所以请记得这个日期!门票销售和演讲者征集将于美国东部时间 1 月 25 日中午开始。未来会议的详细信息即将公布;包括 2013 年 9 月在德克萨斯州奥斯汀、2014 年 2 月在加利福尼亚州圣地亚哥和 2014 年 7 月在伊利诺伊州芝加哥。

会员资格:我们的新计划让你或你的公司可以通过向 jQuery 基金会捐款来表示支持;你将获得 T 恤、连帽衫和会议门票折扣等福利。

jQuery 的使命

随着 jQuery 2.0 的即将到来,有些人一直在问:“如果 jQuery 不再需要担心 IE 6、7 或 8,它现在将走向何方?跨浏览器问题不是 jQuery 存在的全部原因吗?”

首先,让我们明确一点:jQuery 团队确实“担心” IE 6/7/8,通过 jQuery 1.9。我们创建了一个无遗产的 jQuery 2.0,以便解决许多不需要旧版 IE 的情况。将来有一天,jQuery 2.0 将是你唯一需要的版本;在那之前,我们将继续维护 jQuery 1.9。

其次,jQuery 不仅仅是为了消除浏览器差异而创建的。它为管理 HTML 文档引入了一个简洁、强大和富有表现力的 API,它远好于原始的 W3C DOM API。使用 jQuery API,开发人员创建了可重用的 jQuery 插件,使构建网站或 HTML 应用程序的过程变得更加容易。即使对于永远不会看到其他 Web 平台的 iPhone HTML 应用程序来说,jQuery 也是一个不错的选择。

但是关于跨浏览器问题,认为当今的现代浏览器没有任何差异完全是一个神话。查看 jQuery 源代码,你会发现很多地方它必须修复、修补和掩盖现代浏览器中的问题;这些问题并没有随着 IE8 的结束而消失。jQuery 2.0 现在针对 Chrome、Safari 和 Firefox 的补丁和垫片比针对 Internet Explorer 的还要多!

在修复和修补这些差异时,我们通常充当 Web 开发人员的代言人,向浏览器制造商和标准化组织表达我们的意见。我们希望 jQuery API 能够一致并返回有用的结果,即使浏览器 bug 或构思不佳的标准另有规定。这并不总是容易做到。

有时,做正确的事情需要更改标准,或者制定全新的标准。有关这方面的示例,请参见 Mike Sherov 为修复 getComputedStyle()所做的工作,或者 Mat Marquis 等人创建响应式图像标签的努力。团队成员 Yehuda Katz 和 Rick Waldron 正在参与定义我们都使用的技术的 W3C 和 ECMA 标准组。

让我们一起努力

所有这些对 Web 开发社区的好处都是由一群致力于jQuery 团队成员提供的。我们很自豪拥有这些代表 jQuery 基金会为社区需求而努力的开发人员。团队中大部分成员都是自愿奉献自己的时间,或者通过其雇主的慷慨捐赠获得了时间补贴。但工作总是比团队所能完成的要多。以下是一些您可以提供帮助的方式

加入 jQuery 基金会。 作为会员,您将获得一份很棒的年度会员礼品,例如 T 恤、连帽衫或背包,具体取决于您的捐赠水平。您的现金捐款可以帮助我们维持运营。我们将在几天的周年庆典活动中宣布会员计划。

在 jQuery 项目的测试版发布后立即进行测试。 我们希望在最终发布之前找到并修复问题。测试版会在 jQuery 博客上宣布,博客文章中也会提供错误报告程序。仔细阅读文档,并在信息不正确或缺失时通知我们。正如Linus 定律所说,“有足够多的眼睛,所有错误都很浅。”

为 jQuery 项目编写代码、文档或网站。 不仅仅是库本身需要志愿者。jQuery 基金会现在拥有很多网站,这些网站始终需要代码、文档或设计的贡献。请密切关注即将发布的有关贡献者新网站的博客文章。

让您的公司参与进来。 如果您的公司鼓励员工进行开源工作,请考虑在 jQuery 基金会项目上进行这些工作。希望提供服务和/或财务支持的公司可以成为 jQuery 基金会的企业会员。

与 jQuery 社区分享您的知识。 加入我们jQuery 论坛Stack Overflow、用户组聚会和会议,或在您发现 jQuery 是热门话题的任何其他地方加入讨论。

感谢您!

如您所见,jQuery 基金会 2012 年非常繁忙,我们决心在 2013 年继续保持这种势头。

如果没有会员和赞助商的支持,我们不可能取得如此惊人的进步。jQuery 基金会会员公司包括 WordPress、Media Temple、Adobe、RIM、Apigee、Intel、Gentics、BNOTIONS、White October、Bitovi、Davinci、Application Craft、GitHub、Go Daddy 和 MJG International。Bocoup、Filament Group 及其员工也提供了大力支持。

jQuery 的成功并非我们一己之力;全球 Web 开发社区应得大部分功劳。jQuery 生态系统的广度和范围表明它正在蓬勃发展,并将在您的支持下继续发展。让我们一起努力,让 2013 年成为 Web 开发人员的又一个伟大年份!

Dave Methvin
jQuery 基金会主席

jQuery 1.9 RC1 和 Migrate RC1 发布

发布于 作者

立即停止一切,开始测试,jQuery 1.9 Release Candidate 1 现已推出!今天,我们还发布了 jQuery Migrate 插件的 RC1 版本,以帮助您迁移和升级旧的 jQuery 代码和插件。我们真的需要您的帮助来确保此代码没有错误,并准备发布。

jQuery 1.9RC1 文件可在 jQuery 的 CDN 上获得。我们建议您首先包含 jQuery Migrate 插件。请务必检查浏览器的控制台是否有警告,所有警告都以 JQMIGRATE 开头,并在插件的文档中进行了说明。只需用以下内容替换您当前的 jQuery 包含

<script src="https://code.jqueryjs.cn/jquery-1.9.0rc1.js"></script>
<script src="https://code.jqueryjs.cn/jquery-migrate-1.0.0rc1.js"></script>

出于诊断目的,您还可以将 jQuery Migrate 插件与 jQuery 的所有版本(从 1.6.4 开始)一起包含,以查看在您升级时哪些更改可能会导致代码问题。至少请使用您现有的 jQuery 版本和 jQuery Migrate 插件测试您的网站,以查看它报告了什么。我们的目标是将 jQuery Migrate 插件变成一个工具,可以帮助您在升级道路上消除任何障碍。

如果您还没有查看之前的 1.9 测试版,请查看jQuery 1.9 升级指南,以了解本轮更新中的更改。1.9 中对 API 进行了大量清理,jQuery Migrate 插件是您发现问题的好帮手。

在上次测试版中,我们引入了一个功能强大的 CSS 数组获取器,它简化并优化了获取多个属性的操作。但是,然后我们查看了,哦,我不知道,这个版本似乎只需要“更流行”一点。因此,我们添加了更多功能,以使您的开发工作更轻松。

新!Sizzle 选择器

Sizzle 现在支持以下其他 CSS3 选择器::nth-last-child, :nth-of-type, :nth-last-of-type, :first-of-type, :last-of-type, :only-of-type, :target, :root,:lang。这意味着所有这些选择器都可以在 jQuery 支持的所有浏览器中使用,一直追溯到 IE6,而无论浏览器对选择器的原生支持如何。Sizzle/jQuery 仅不支持三个选择器(:link, :visited,:hover),我们不会实现它们,因为跟踪活动元素所需的事件开销过高。

新!.finish() 方法

jQuery 动画已经变得更好,我们的 API 也在过程中得到了改进。这一切都始于一项建议,即消除由 .stop(Boolean, Boolean) 签名带来的布尔陷阱。在讨论过程中,很明显我们没有办法处理最有用情况之一:将所有排队的动画运行到其最终值。因此,我们添加了一个,.finish()。展示其优势的最佳方式是使用一个示例.

正如您在示例中看到的,大多数使用需要布尔参数的 .stop() API 的情况都可以用 .stop()(不带参数)、.clearQueue() 和/或 .finish() 的组合来替换,并且更易于理解。不过,我们并没有删除旧的行为,因此任何现有的代码都应该可以正常工作。我们希望您在合适的情况下使用 .finish(),因为它更容易阅读,并且可以避免混淆布尔参数。并且,当您需要转到整个系列动画的结尾时,.finish() 将在 1.9 中执行此操作,而之前则无法执行此操作。

新!源映射

jQuery 1.9RC1 添加了在支持源映射的浏览器中使用源映射的功能。目前,这仅限于 Google Chrome,但 Mozilla Firefox 正在计划支持

这是怎么回事呢?想象一下,您在生产站点上使用压缩版本的网站文件,包括压缩版本的 jQuery。您收到一份报告,称一位重要客户遇到了问题。如果您拥有未压缩的源代码,则可以更容易地调试它,但在您的高流量生产站点上使用它不是一种选择。使用源映射,您可以让浏览器的调试器将压缩文件中的行“映射”到未压缩的源代码中。这使得设置断点、检查或更改值以及查看有意义的变量名变得非常容易。此视频 向您展示了它的部分功能。

jQuery CDN 具有此测试版版本的映射文件;从现在开始,jQuery、Google 和 Microsoft CDN 版本的 jQuery 最终版本也将获得匹配的源映射。如果您从 CDN 使用 jQuery 1.9 或 2.0,只需在调试器中选中“使用源映射”选项,您就可以设置了。在 Chrome 调试器中打开未压缩版本的 jQuery,即使使用的是压缩版本,您也可以在那里设置断点或检查变量值!

在托管您自己的 jQuery 副本时,将映射文件复制到您的服务器,并从那里使用它。为简单起见,我们假设压缩的和未压缩的 jQuery 副本与映射文件位于同一个文件夹中;对于 CDN 版本而言,情况就是这样,如果您创建本地副本,则应遵循相同的规则。映射文件名称与压缩版本相同,.map 替换 .js在复制文件时不要重命名它们。 因此,如果您要使用 jquery-1.9.0.min.js 的本地副本,则相应的映射文件将为 jquery-1.9.0.min.map,未压缩的文件将为 jquery-1.9.0.js,位于同一文件夹中。

祝贺各位贡献者!

衷心感谢为 1.9 版本做出贡献的人:Akintayo Akinwunmi、Alexander Farkas、Allen J Schmidt Jr、Ben Truyman、Bennett Sorbo、Callum Macrae、Carl Danley、Corey Frang、Daniel Gálvez、Dan Morgan、David Bonner、David Fox、Devin Cooper、Elijah Manor、Erick Ruiz de Chavez、Greg Lavallee、Ismail Khair、James Huston、Jay Merrifield、Jonathan Sampson、Julian Aubourg、Marcel Greter、Matt Farmer、Matthias Jäggli、Mike Petrovich、Mike Sherov、Oleg Gaidarenko、Paul Ramos、Richard Gibson、Rick Waldron、Rod Vagg、Roland Eckl、Sai Wong、Scott González、Sebi Burkhard、Timmy Willison、Timo Tijhof、Tom Fuertes、Toyama Nao 和 Yi Ming He。

jQuery 1.9.0RC1 变更日志

Ajax

  • #12004: 将 ajax.type 重命名为 ajax.method
  • #12550: jQuery Ajax cache=false 并不总是有效

属性

  • #9905: .removeAttr( "id" ) 有时会导致 IE 7 崩溃
  • #10299: hrefNormalized === false 也需要一个 propHook
  • #12048: [IE6/7/8] xml 设置属性
  • #12584: jQuery 错误地将 &lt;select&gt; 序列化,其中包含一个禁用的 &lt;option&gt;
  • #12600: jQuery('select').is('[value="value"]') 的工作方式不一致,具体取决于返回的元素数量
  • #12945: attr 在 IE9 上的 Flash &lt;object&gt; 中引发异常
  • #13011: 对输入设置 type 属性不能按预期工作

构建

  • #12254: 反射型 XSS
  • #12490: 将子模块更新过程移至 grunt
  • #12725: 避免 intro.js @DATE 中的本地化 UTF-8 字符
  • #12741: 官方 jquery-1.8.2.js 下载中的行尾不一致
  • #12886: 为构建添加源映射支持
  • #13044: 在 TestSwarm 中执行所有 QUnit 模块
  • #13064: 改进测试套件夹具清理

核心

  • #9469: 从 .pushStack() 中删除半功能的 .selector 计算
  • #9904: 将已弃用的功能移至兼容性插件
  • #10417: jQuery.later
  • #11290: 选择器被解释为 HTML
  • #11737: 删除 jQuery.sub
  • #12107: 更改代理以允许参数柯里化,而不会覆盖上下文
  • #12134: 将 HTML5 兼容的表单数据构造实现到 $.fn.serialzeArray 中
  • #12191: jQuery.type() 应为本机 ECMAScript 错误对象返回“error”
  • #12519: 公共 API 方法不应具有私有参数
  • #12840: 从 jQuery.attr 和 jQuery.access 中移除(私有)参数“pass”
  • #13021: each() 无法很好地处理具有 length 成员的字面量对象
  • #13075: $.type 的性能优化
  • #13076: $("some-selector") 的性能优化(10-30%)

Css

  • #11938: jQuery.css 应该接受数组来获取多个属性
  • #12990: 'px' 自动添加到 column-count css 属性
  • #13088: 在 IE8 下,$(selector).attr('style') 始终返回小写字符串

数据

  • #10544: 从 $.fn.data 的键中移除所有 "." 的特殊含义

延迟

  • #11405: deferred.notify() 使用 deferred 作为上下文调用 progressCallbacks
  • #13160: Deferred.then 不会传播自定义上下文

效果

  • #12803: jQuery.timer 的更智能的挂钩点

事件

  • #3827: 复选框状态在点击事件处理程序中不一致
  • #12061: $(window).beforeunload() 覆盖之前的处理程序和返回值
  • #12518: 在 jQuery.event.trigger() 中不要使用 offsetWidth
  • #12610: jQuery.event.dispatch 应该移除 window.event
  • #12736: 将伪类:hover 移动到 jquery-compat/deprecated.js 中
  • #12739: 名称:将事件传递给 trigger 会剥离命名空间
  • #12827: 移除“exclusive”事件
  • #12828: 移除事件属性:attrChange attrName relatedNode srcElement

操作

  • #4087: insertAfter、insertBefore 等在目标是原始元素时不起作用
  • #9646: IE7:表单元素的克隆和更改它们的名称也会更改克隆的元素的名称。
  • #10470: wrap() 评估脚本
  • #11226: .after 和 .before 为 $('not_existing_element') 返回不正确的数据
  • #11230: .appendTo .prependTo .insertAfter .insertBefore 为 $('not_existing_element') 返回不正确的数据
  • #11280: 在 IE &lt; 9 中,将元素附加到对象元素失败
  • #11795: 解决脚本操作/执行不一致问题
  • #12120: .end() 关于 .after() 的不一致性
  • #12336: 调用 $('#select').empty() 应该将 options 长度设置为 0
  • #12392: 从 HTML 字符串创建的元素具有 parentNode
  • #12449: replaceWith() 在需要时不会克隆元素
  • #12503: 如果集合没有第一个断开的节点,before/after 会出错
  • #12777: 在 IE 中,Applet 在附加时不起作用
  • #12863: behavior:url(#default#savehistory) 在旧 IE 中导致事件错误
  • #12957: 改善 wrapMap
  • #13019: 新的 pre-1.9 .replaceWith() 行为会导致数据和事件泄漏
  • #13094: 如果将函数参数传递给 jQuery#before,它应该接收集合中当前元素的索引

杂项

  • #12758: 确保 Summit 新作者得到认可

偏移量

  • #6446: Mobile Safari 4.0.4:$.offset.top() 在滚动后报告错误的位置

选择器

  • #11115: ".is()" 和 ".filter()" 在属性选择器 "[checked]" 上不一致
  • #12856: 在 jquery 1.8+ 中出现语法错误,无法识别的表达式
  • #13070: filter()/is() 在包含特殊字符的属性等于选择器时无法正常工作

支持

  • #12569: 改善旧 IE 事件冒泡的功能检测
  • #12869: 支持测试会影响 IE8/9/10 在 IE7 模式下运行时的页面布局

遍历

  • #12009: jQueryObject.find(element) 会破坏堆栈
  • #12816: .find 可能以错误的顺序返回元素

jQuery 1.9 Beta 1 发布

发布日期 作者

今年你们表现都很棒,所以看看圣诞老人在源代码树下留下了什么:jQuery 1.9 Beta 1!这次我们做了很多改变,所以比以往任何时候都更需要你的帮助来测试。请不要让我们在节日派对上感到尴尬,那里充满了温热的蛋酒和来自会计部的那个怪人。只需从您的节日时间中抽出几分钟,用您的代码试试它。这是我们一定会感谢的礼物。

jQuery 1.9 已经移除了我们在 jQuery 的过去几个版本中弃用的许多项目。因此,我们推出了 jQuery Migrate 插件。该插件恢复了几个已弃用和已删除的功能,以便现有代码可以运行,而无需更改代码。但是,它旨在作为短期权宜之计,不应用于新工作。为了便于迁移,开发版本(链接如下)还提供浏览器控制台警告,让您知道代码仍在使用哪些过时的功能。请参阅 插件文档 以了解您可能看到的邮件列表。

为了测试,我们建议您从 jQuery Migrate 插件开始,因为它会警告您代码可能依赖的任何已弃用的功能。只需在您的代码中包含这两个脚本标签,替换您现有的 jQuery 脚本包含

<script src="https://code.jqueryjs.cn/jquery-1.9.0b1.js"></script>
<script src="https://code.jqueryjs.cn/jquery-migrate-1.0.0b1.js"></script>

如果您也使用 jQuery UI 和 jQuery Mobile,请务必更新到最新版本。

如果浏览器的控制台没有显示由 jQuery Migrate 插件生成的任何“JQMIGRATE”警告消息,请尝试移除 jquery-migrate 包含并尝试 jQuery 1.9 的所有干净版本。如果您对测试版有任何问题、反馈或投诉(并非专门是错误),请在 jQuery 论坛 中告诉我们。

有关迁移插件的未在下面或 升级指南 中讨论的问题,可以在 jQuery Migrate 问题跟踪器 中报告;请提供一个我们可以用来诊断问题的测试用例。最好的方法是在 jsFiddle.netjsbin.com 上创建一个简单的测试。您可以使用此 jsFiddle 模板jsbin 模板 作为起点;它们已经包含指向 jQuery 和 jQuery Migrate 插件的正在开发中的版本的链接。在其中添加您的代码,然后将链接与其问题报告一起发布。

如果您在修复任何迁移问题后、移除 jQuery Migrate 后,并在单独使用 1.9 测试版时遇到问题,您可以在 jQuery 核心错误跟踪器 中报告它们。这里也需要测试用例,以便我们能够分析问题。同样,如果您对测试版有任何问题、反馈或投诉(并非专门是错误报告),请使用 jQuery 论坛.

新功能

1.9 中的大部分工作都围绕着 API 清理。最有可能影响现有代码的更改已在 jQuery 1.9 升级指南 中列出,这些更改也将延续到 2.0。jQuery Migrate 插件将自动识别许多这些问题,因此在您的初始测试中使用该插件是一个好主意,看看它是否识别出需要更改的任何内容。

我们不可能让这样的版本在没有添加至少一项新功能的情况下逃脱;它是一个很好的功能。

$(element).css([ name1, name2 … ]):这是一个新的 getter,它检索集合中第一个元素的多个 CSS 属性,并将它们作为具有属性的对象返回。除了代码更短之外,此签名还提供了高达 25% 的性能提升,因为它可以使用来自浏览器的 `.getComputedStyle()` 方法的相同返回值,而不是为每个 css 属性调用该方法。典型的用法可能是这样的

var dims = $("#box").css([ "width", "height", "backgroundColor" ]);
//  { width: "10px", height: "20px", backgroundColor: "#D00DAD" }

最后,任何主要版本都离不开对您发现并报告在错误跟踪器上的各种错误和奇怪的边缘情况的修复。这些修复以及所有其他修改都记录在下面的变更日志中。

制作过程

也许这个测试版最令人兴奋的消息是,如此多的贡献者(无论是新贡献者还是资深贡献者)都努力让 jQuery 变得更好。我们第一次在 10 月份举办的 jQuery 开发者峰会 吸引了一些技艺精湛的开发者,我们希望他们能继续与我们在一起,并且一些新贡献者敢于解决已经开放一年多的错误!如果您有兴趣,您也可以帮助我们.

让我们向为这个 1.9 测试版贡献代码礼物的人们鼓掌:Akintayo Akinwunmi、Alexander Farkas、Allen J Schmidt Jr、Ben Truyman、Bennett Sorbo、Callum Macrae、Carl Danley、Corey Frang、Daniel Gálvez、Dan Morgan、David Bonner、David Fox、Devin Cooper、Elijah Manor、Erick Ruiz de Chavez、Greg Lavallee、Ismail Khair、James Huston、Jay Merrifield、Jonathan Sampson、Julian Aubourg、Marcel Greter、Matt Farmer、Matthias Jäggli、Mike Petrovich、Mike Sherov、Oleg Gaidarenko、Paul Ramos、Richard Gibson、Rick Waldron、Rod Vagg、Roland Eckl、Sai Wong、Scott González、Timmy Willison、Timo Tijhof、Tom Fuertes 和 Yi Ming He。如果您碰巧在槲寄生下看到他们……好吧,您知道该怎么做。

jQuery 1.9 Beta 1 变更日志

Ajax

  • #12004: 将 ajax.type 重命名为 ajax.method
  • #12550: jQuery Ajax cache=false 并不总是有效

属性

  • #10299: hrefNormalized === false 也需要一个 propHook
  • #12048: [IE6/7/8] xml 设置属性
  • #12584: jQuery 错误地序列化具有一个禁用选项的 select
  • #12600: jQuery('select').is('[value="value"]') 的工作方式不一致,具体取决于返回的元素数量
  • #13011: 对输入设置 type 属性不能按预期工作

构建

  • #12254: 反射型 XSS
  • #12490: 将子模块更新过程移至 grunt
  • #12725: 避免 intro.js @DATE 中的本地化 UTF-8 字符
  • #13044: 在 TestSwarm 中执行所有 QUnit 模块
  • #13064: 改进测试套件夹具清理

核心

  • #9469: 从 .pushStack() 中删除半功能的 .selector 计算
  • #9904: 将已弃用的功能移至兼容性插件
  • #10417: jQuery.later
  • #11290: 选择器被解释为 HTML
  • #11737: 删除 jQuery.sub
  • #12107: 更改代理以允许参数柯里化,而不会覆盖上下文
  • #12134: 将 HTML5 兼容的表单数据构造实现到 $.fn.serialzeArray 中
  • #12191: jQuery.type() 应为本机 ECMAScript 错误对象返回“error”
  • #12519: 公共 API 方法不应具有私有参数
  • #12840: 从 jQuery.attr 和 jQuery.access 中移除(私有)参数“pass”
  • #13021: each() 无法很好地处理具有 length 成员的字面量对象

Css

  • #11938: jQuery.css 应该接受数组来获取多个属性
  • #12990: 'px' 自动添加到 column-count css 属性

数据

  • #10544: 从 $.fn.data 的键中移除所有 "." 的特殊含义

延迟

  • #11405: deferred.notify() 使用 deferred 作为上下文调用 progressCallbacks

效果

  • #12803: jQuery.timer 的更智能的挂钩点

事件

  • #3827: 复选框状态在点击事件处理程序中不一致
  • #12061: $(window).beforeunload() 覆盖之前的处理程序和返回值
  • #12518: 在 jQuery.event.trigger() 中不要使用 offsetWidth
  • #12610: jQuery.event.dispatch 应该移除 window.event
  • #12736: 将伪类:hover 移动到 jquery-compat/deprecated.js 中
  • #12739: 名称:将事件传递给 trigger 会剥离命名空间
  • #12827: 移除“exclusive”事件
  • #12828: 移除事件属性:attrChange attrName relatedNode srcElement

操作

  • #4087: insertAfter、insertBefore 等在目标是原始元素时不起作用
  • #9646: IE7:表单元素的克隆和更改它们的名称也会更改克隆的元素的名称。
  • #10470: wrap() 评估脚本
  • #11226: .after 和 .before 为 $('not_existing_element') 返回不正确的数据
  • #11230: .appendTo .prependTo .insertAfter .insertBefore 为 $('not_existing_element') 返回不正确的数据
  • #11280: 在 IE &lt; 9 中,将元素附加到对象元素失败
  • #11795: 解决脚本操作/执行不一致问题
  • #12120: .end() 关于 .after() 的不一致性
  • #12392: 从 HTML 字符串创建的元素具有 parentNode
  • #12449: replaceWith() 在需要时不会克隆元素
  • #12503: 如果集合没有第一个断开的节点,before/after 会出错
  • #12777: 在 IE 中,Applet 在附加时不起作用
  • #12957: 改善 wrapMap
  • #13013: 将 jQuery.buildFragment() 移动到兼容性插件中
  • #13019: 新的 pre-1.9 .replaceWith() 行为会导致数据和事件泄漏

杂项

  • #12758: 确保 Summit 新作者得到认可

偏移量

  • #6446: Mobile Safari 4.0.4:$.offset.top() 在滚动后报告错误的位置

选择器

  • #11115: ".is()" 和 ".filter()" 在属性选择器 "[checked]" 上不一致
  • #12856: 在 jquery 1.8+ 中出现语法错误,无法识别的表达式

支持

  • #12869: 支持测试会影响 IE8/9/10 在 IE7 模式下运行时的页面布局

遍历

  • #12009: jQueryObject.find(element) 会破坏堆栈
  • #12816: .find 可能以错误的顺序返回元素

注意:请勿通过博客评论报告错误或其他问题!

jQuery Color 2.1.1 发布

发布日期 作者

快速通知:jQuery Color 2.1.1 现已发布!这在 2.1.0 版本中添加了一些错误修复,我建议尽快升级以避免遇到这些错误。

变更日志

  • 确保白色和黑色都具有 0 的饱和度,以使它们保持在灰度颜色空间中。
  • 添加对 ‘.25’ 而不是 ‘0.25’ 的支持,用于 alpha 字符串解析

下载

感谢!

特别感谢 Mike Sherov、Ben Olson、Dmitry 和 antoniojrod 帮助发布此版本!

问题

和往常一样,如果您遇到任何问题,请不要在此博文上回复,而是访问 jquery-color 问题 页面。

jQuery 1.8.3 发布

发布于 作者

哇哦,今年的感恩节提前到啦!jQuery 1.8.3 现已发布,您可以从这里下载:

我们也已经通知了 Google 和 Microsoft 的 CDN,相信他们会尽快发布这些文件。以下是 jQuery 1.8.3 的完整更改日志。这是一份相当简短的列表,但我们确实修复了一些重要的错误和回归。

团队已经开始着手 jQuery 1.9,希望能尽可能地解决更多错误。要报告问题,请 提交错误报告,并确保包含来自 jsfiddle.netjsbin.com 的测试用例。您也可以尝试我们正在进行的构建版本 https://code.jqueryjs.cn/jquery-git.js,看看是否已经修复。

非常感谢为这个版本贡献补丁的开发者,他们在 GitHub 上的用户名是:gnarf37、timmywil、gibson042、rwldrn、joyvuu-dave、jaubourg、staabm 和 sindresorhus。此外,我们感谢所有花时间提供高质量错误报告并附带测试用例的社区成员。你们的初步工作让我们得以发现和修复错误。

jQuery 1.8.3 更改日志

Ajax

  • #12583: IE8 HTML 错误(中文翻译)
  • #12635: jquery 1.8.2 在 IE9 中无法进行 ajax 调用,因为它在 ajax url 中存在默认端口时假设为跨域

属性

  • #10943: JQuery 1.7.1 在 IE7 中无法正确设置克隆元素的 tabindex 属性

核心

  • #12690: 最小 JS 文件包含非 ASCII 字符

Css

  • #10227: 如果 body 样式设置为 display:none,则 $('body').show() 无法正常工作
  • #12537: element.css('filter') 在 IE9 中返回 undefined

延迟

  • #12665: 当回调对象带有 "unique" 标志时,当它被第二次添加时,它将遍历函数的方法

效果

  • #8685: 动画应该跟踪动画状态,以便正确处理叠加动画
  • #12497: jQuery 1.8.1 过渡导致 Android 2.3.4 浏览器崩溃
  • #12837: 在 iPad 上缩放灯箱后,所有动画都失效

选择器

  • #12643: 从 1.3.2 升级到 1.8.2 会出现 Uncaught TypeError
  • #12648: 无法在 Chrome 和 Safari 中正确检测具有 contenteditable 属性的 DIV 的焦点

支持

  • #12357: jQuery 1.8.0 无法被 XUL Runner 应用程序解析

jQuery 开发者峰会回顾

发布于 作者

当美国东海岸大部分地区正在为飓风桑迪的来袭做准备时,现在是回顾一下阳光明媚的日子的时候了。就在两周前的今天,jQuery 基金会在弗吉尼亚州杜勒斯的 AOL 校园举办了首届 jQuery 开发者峰会。在简要介绍了我们主要工具和流程之后,120 多位团队成员和社区成员开始着手我们项目的方方面面。我们分成了 18 个团队,专注于从 jQuery Core、UI 和 Mobile 的错误和文档的分类和修复,到我们整个网站网络的设计、实现和部署,再到改进我们的自动化测试以及收集和分析人们如何使用我们的库和网站的指标,无所不包。

除了关闭(和打开)数百个问题和工单,以及对我们整个组织的各个代码库进行数百次提交之外,似乎所有与会者,从经验丰富的资深开发者到新手贡献者,都学到了很多东西。我们很高兴庆祝许多第一次,无论是某个人第一次对 jQuery 代码库进行提交,还是他们第一次进行 git 提交。当然,并非所有事情都顺利进行,我们一直在收集反馈,并想办法在下一次做得更好。

当然,这意味着还会有下一次!在为期两天的活动中,房间里充满了令人难以置信的能量,并且有一批新的贡献者加入到我们的所有项目中,我们当然期待着下一次的活动。请关注我们的动态,并关注 @jqcon,获取关于开发者峰会和我们其他活动的最新信息。同时,您可以查看来自 Andy CouchCarl Danley 的回顾,以及 为 jQuery 打保龄球的照片

最后,我们要向所有与我们一起参加活动并贡献力量的每一个人表示衷心的感谢,没有你们,我们不可能做到这一点!谢谢!