jQuery 1.7.2 RC1 发布

发布日期: 作者:

jQuery 1.7.2 即将发布!为了确保我们修复了投票为“最有可能惹人厌”的错误,并且没有引入任何新的错误,我们需要你的帮助来测试这个发布候选版本。你可以从 jQuery CDN 获取代码。

只需几分钟即可将这个最新文件导入并用你的代码测试。如果你有很多页面,下面列出的修复错误列表可能有助于你确定要测试哪些内容。当然,如果你报告了某个错误或者受到下面列出错误的影响,请重新测试以确保我们确实修复了它。我们在内部测试了它,针对当前版本的 jQuery UI 和 jQuery Mobile 进行测试。jQuery Mobile 1.1 RC1 中存在一个兼容性问题,该问题已修复,将在他们的下一个版本中解决。

想用最新的 jQuery 更轻松地测试你的网站吗?在 Windows 上,你可以使用优秀的 Fiddler 工具并创建一个 自动响应规则,将你对 jQuery 的 HTTP 脚本请求指向上面的文件位置。这样你就可以在你的 PC 上用最新的 jQuery 测试你的实时网站,而无需编辑任何文件!如果你知道其他平台上的类似工具,请在下面的评论中留言。

如果你对 IE6 支持特别感兴趣,请帮助我们。我们在 IE6 中运行单元测试时遇到间歇性问题。我们无法确定这些问题的原因,但问题并不总是发生,并且我们庞大的测试套件可能会让这个十多年历史的浏览器不堪重负。如果你在真实代码中观察到任何可重现的失败,请告知我们并尝试提供尽可能小的测试用例。

你可以使用 错误跟踪器 报告错误;请确保在 jsFiddle 上创建测试用例,这样我们才能轻松地找出问题。如果你不确定是否是错误,请在我们的 论坛StackOverflow 上提问。请不要使用下面的博客评论来报告错误。

jQuery 1.7.2rc1 更改日志

以下是 1.7.2rc1 版本的当前更改日志。

Ajax

  • #4624: default ajaxSettings.contentType 中的字符集
  • #10978: jQuery.param() 应该允许非原生构造的对象作为属性值
  • #11264: evalScript() 使用 ajaxSetup() 设置的默认值
  • #11426: 在 IE 中请求 JPG 图片时 jQuery.ajax() 总是失败

属性

  • #5571: 在 jQuery 中将 undefined 传递给任何 setter 时允许链式调用
  • #10828: attr(“coords”) 在 IE7 中返回 undefined
  • #10870: $.removeAttr(“selected”) 的行为不正确
  • #11316: 首先考虑按元素类型查找 valHooks,然后按节点名称查找,而不是反过来

构建

  • #10692: 配置 jshint 选项以更准确地匹配样式指南
  • #10693: 将单元测试中“在 iframe 中测试某件事”的代码通用化
  • #10901: 如果测试器从 file:// 运行或没有 PHP,则让单元测试失败
  • #10902: 在单元测试中测试 jQuery 的构建版本的功能
  • #10931: 单元测试不应该需要互联网访问

核心

  • #10466: jQuery.param() 将包装后的基本类型误认为深层对象

Css

  • #10639: outerWidth(true) 和 css(‘margin’) 在 Webkit 中返回 % 而不是 px
  • #10754: 让 jQuery.swap 返回回调函数的返回值,而不仅仅是执行它
  • #10782: 计算宽度不正确
  • #10796: IE7 中 $(‘#el’).css.(‘background-position’) 的错误
  • #10858: css.js 正则表达式不完整
  • #11119: curCSS 函数只需要 2 个参数

数据

  • #11309: 十六进制格式的 data-* 属性解析不正确

延迟

  • #11306: 在 $.Callbacks 对象上调用 .disable() 或 .lock() 会破坏它的 fired() 状态

尺寸

  • #3838: $(document).height() 在 IE6 中不正确

效果

  • #8498: 动画钩子
  • #10006: 当对文档片段调用方法 show 时,它在所有浏览器中的行为不符合预期
  • #10848: 在某些原子边缘情况下,动画切换会丢失状态跟踪
  • #11415: 在非法的情况下静默忽略负的 CSS 值

事件

  • #8165: .live(‘click’, handler) 在 Chrome 中对包含子元素的禁用按钮触发
  • #10819: 消除“this.on.call(this, “
  • #10878: $(“select”).live(“change”, function(){ …在 jQuery 1.7 中 IE8 中已损坏
  • #10961: IE6-9 中使用 jQuery 1.7.1 时 XRegExp 出现错误
  • #10970: .on() 选择器参数不适用于 :not(:first) 选择器
  • #10984: 无法关闭自定义事件 ($.event.special)
  • #11021: 悬停黑客破坏了名为“hover”的命名空间
  • #11076: .clone(true) 会丢失委托过滤器
  • #11130: jQuery.fn.on: 使用空选择器的绑定映射会忽略数据
  • #11145: $(document).on() 不适用于 name=”disabled”

操作

  • #9427: 将 undefined 传递给 .text() 不会触发 setter
  • #10753: 将 evalScript 函数内联到 manipulation.js 中,因为它只使用一次
  • #10864: 文档片段上的 text() 方法总是返回空字符串
  • #11055: 更新 HTML5 Shim 元素列表以支持最新的 html5shiv
  • #11217: Webkit 中的附加问题
  • #11291: 使用 HTML5 节点名称克隆 XMLDoc 在 IE 上会中断
  • #11323: 类型为“text/ecmascript”的脚本标签会泄漏到 DOM 中
  • #11356: safeFragment 内存泄漏

杂项

  • #10952: .fired() 在 Callbacks 对象上标记为“once”时不起作用
  • #11257: 如果缺少 PHP,测试套件中源文件路径错误

队列

  • #10967: .promise() 不会将方法附加到目标

支持

  • #7986: 如果页面具有 DIV-元素 CSS,则 $.support.boxModel 中存在错误
  • #11048: 支持测试会影响 IE6-9 中定位元素的布局
  • #11337: $.support.reliableMarginRight 中的错误

遍历

  • #11370: $(‘<div>’).siblings() 会抛出异常

宣布 jQuery 基金会

发布日期: 作者:

(波士顿)— jQuery 委员会与软件自由保护组织 (Software Freedom Conservancy) 共同宣布成立 jQuery 基金会 (jQuery Foundation, Inc.),这是一个独立的组织,负责管理互联网上排名第一的 JavaScript 库 jQuery 及其相关项目。

jQuery 委员会之前在 Conservancy 的管理下管理 jQuery,Conservancy 是一家公共慈善机构,为免费软件项目提供非盈利性支持。

新的 jQuery 基金会是一个非盈利性贸易协会,致力于支持 jQuery 核心、UI 和 Mobile 项目的开发;提供 jQuery 文档和支持;以及培养 jQuery 社区。

Dave Methvin 最近接任 jQuery 核心开发团队负责人,他将兼任基金会主席。“jQuery 是最流行的 JavaScript 库,创建独立的组织是确保其未来发展和惠及所有 jQuery 用户的下一步。”Methvin 说。“我们很快会宣布一些举措,包括下一届 jQuery 大会和其他由社区和项目需求推动的举措。”

“看到 jQuery 基金会成立,我感到非常兴奋。我很高兴 Dave Methvin 领导基金会和核心库的发展方向。他是一位好朋友,并且极其有能力推动 jQuery 前进。”John Resig 说,他于 2005 年创建了该库。“与此同时,我一直在花更多时间专注于改善 Khan Academy 的 JavaScript 和编程教育现状。我很高兴能够成为 jQuery 核心团队和基金会的一部分,并期待看到 jQuery 在未来几年如何发展。”

“我们为 jQuery 委员会在 Conservancy 的指导下将 jQuery 打造成一个充满活力和成功的开源社区而感到自豪。”软件自由保护组织执行董事 Bradley Kuhn 说。“我们的使命包括帮助成员项目确定是否应该成立自己的组织,我们很高兴 jQuery 成为第一个采取这一步骤的 Conservancy 项目。”

jQuery 基金会感谢 Fort Point Legal 的 Joel G. Kinney,他的慷慨的无偿法律咨询对基金会过渡到独立组织起到了至关重要的作用。基金会还自豪地接受来自 Linux 基金会 的荣誉第一笔捐款,该基金会选择继续其支持开源社区的传统,为基金会首个运营费用预算做出贡献。

关于 jQuery
jQuery 由 John Resig 于 2005 年创建,它是一个 JavaScript 库,旨在为 DOM 和 Ajax 操作提供直观的方法,jQuery 已经稳步获得了开发社区的青睐,并且是当今使用最广泛的 JavaScript 库。

关于 jQuery 基金会
jQuery 基金会 是一个非盈利性贸易协会,也是互联网上排名第一的 JavaScript 库 jQuery 的发源地。由一群领先的 JavaScript 开发人员和架构师创建,jQuery 基金会致力于三个目标:支持 jQuery 核心、UI 和 Mobile 项目的开发;提供 jQuery 文档和支持;以及培养 jQuery 社区。

jQuery Foundation, Inc. 是一家特拉华州的非营利组织,目前正在申请 IRS 501(c)(6) 状态。对 jQuery Foundation 的捐款将用于推动基金会的目标。有关更多信息,请访问 http://jquery.org

关于软件自由保护协会
软件自由保护协会 是一个非营利组织,致力于促进、改进、开发和维护自由、开放源代码软件项目。保护协会是 28 个软件项目的所在地,每个项目都得到志愿者、开发者和用户的社区支持。保护协会的项目包括一些世界上使用最广泛的软件系统,涵盖许多应用领域,包括在全球学校部署的教育软件,在大多数消费电子设备中部署的嵌入式软件系统,分布式版本控制开发工具,集成图书馆服务系统,以及广泛使用的图形和艺术程序。保护协会项目的完整列表可在 http://sfconservancy.org/members/current/ 找到。保护协会为这些项目提供必要的基础设施和非营利性支持服务,使项目的社区能够专注于他们最擅长的领域:创建创新软件并促进计算造福公众。

jQuery 1.7.2 Beta 1 发布

发布日期: 作者:

互联网朋友们,这里是 jQuery 核心团队!我们有一段时间没见面了,但我们在假期里一直忙着修复您报告的错误。我们辛苦工作的成果是 jQuery 1.7.2 Beta 1。我们决定在 土拨鼠日 发布一个 beta 版,这样您就不会在六周未修复的错误阴影中度过。

您可以从 jQuery CDN 获取代码

哦,我们知道你在想什么:“太棒了,一个新的 jQuery 版本;我等最终版本发布几周后,再试一试。”对,然后你会发现一些阻止你升级的错误。没有什么比我们完成一个版本后才发现一个早该修复的严重错误更让人难过的事情了。

所以,请走出你的洞穴,用你的代码试试这个 beta 版。我们是否遗漏了旧错误?我们是否创建了一个让你感觉像 比尔·默瑞醒来听到 “I Got You Babe” 的感觉 的新错误?我们想知道。你可以使用 错误追踪器 报告错误;请务必在 jsFiddle 上创建一个测试用例,这样我们就可以很容易地找出问题。如果你不确定是不是一个错误,可以在我们的 论坛 或者 StackOverflow 上提问。

jQuery 1.7.2b1 更改日志

当前 1.7.2b1 版本的更改日志。

Ajax

  • #10978: jQuery.param() 应该允许非原生构造的对象作为属性值

属性

  • #5571: 在 jQuery 中将 undefined 传递给任何 setter 时允许链式调用

构建

  • #10692: 配置 jshint 选项以更准确地匹配样式指南
  • #10902: 在单元测试中测试 jQuery 的构建版本的功能
  • #10931: 单元测试不应该需要互联网访问

核心

  • #10466: jQuery.param() 将包装后的基本类型误认为深层对象

Css

  • #10639: outerWidth(true) 和 css(‘margin’) 在 Webkit 中返回 % 而不是 px
  • #10754: 让 jQuery.swap 返回回调函数的返回值,而不仅仅是执行它
  • #10782: 计算宽度不正确
  • #10796: IE7 中 $(‘#el’).css.(‘background-position’) 的错误
  • #10858: css.js 正则表达式不完整
  • #11119: curCSS 函数只需要 2 个参数

效果

  • #8498: 动画钩子
  • #10006: 当对文档片段调用方法 show 时,它在所有浏览器中的行为不符合预期
  • #10848: 在某些原子边缘情况下,动画切换会丢失状态跟踪

事件

  • #8165: .live(‘click’, handler) 在 Chrome 中对包含子元素的禁用按钮触发
  • #10819: 消除“this.on.call(this, “
  • #10878: $(“select”).live(“change”, function(){ …在 jQuery 1.7 中 IE8 中已损坏
  • #10961: IE6-9 中使用 jQuery 1.7.1 时 XRegExp 出现错误
  • #10970: .on() 选择器参数不适用于 :not(:first) 选择器
  • #10984: 无法关闭自定义事件 ($.event.special)
  • #11021: 悬停黑客破坏了名为“hover”的命名空间
  • #11076: .clone(true) 会丢失委托过滤器
  • #11130: jQuery.fn.on: 使用空选择器的绑定映射会忽略数据
  • #11145: $(document).on() 不适用于 name=”disabled”

操作

  • #9427: 将 undefined 传递给 .text() 不会触发 setter
  • #10753: 将 evalScript 函数内联到 manipulation.js 中,因为它只使用一次
  • #10864: 文档片段上的 text() 方法总是返回空字符串
  • #11055: 更新 HTML5 Shim 元素列表以支持最新的 html5shiv

杂项

  • #10952: .fired() 在 Callbacks 对象上标记为“once”时不起作用
  • #11257: 如果缺少 PHP,测试套件中源文件路径错误

支持

  • #11048: 支持测试会影响 IE6-9 中定位元素的布局

插件网站更新:旧的又回来了

发布日期: 作者:

自从上周宣布插件网站不幸消失以来,我们收到了很多反馈,我想谈谈自那以后出现的一些最关切的问题。

“您能为后代提供旧的备份吗?”

可以。我们能够做到,而且已经做到了。在周末,我们恢复了我们拥有的最新备份,原始网站现在位于 archive.plugins.jquery.com;您应该可以随意浏览所有内容。我们还应用了我们拥有的最新用户信息,因此如果您在过去一年中曾经在旧网站上拥有帐户,它仍然可以使用。但是,该网站不再接受新用户注册。如果您真的需要一个新帐户,请亲自联系我,我可以为您解决这个问题。我们还设置了重定向,因此如果您在浏览中遇到任何指向 plugins.jquery.com 的链接,您(希望)会最终到达存档中的相应页面。

从 Wayback Machine 获取备份即可!

虽然互联网档案已经缓存了比去年 10 月更新的最新内容版本,但我们没有足够的人力来手动在新的存档网站中重新创建丢失的文章。如果您有帐户,您可以随意添加“新”或旧插件,或者更新现有插件,如果您愿意的话。但是,这个存档不会被搜索引擎索引。

如果您如此讨厌 CMS,那么 WordPress 是怎么回事?

我们正在进行全网范围的重新设计,WordPress 在主题、搜索和服务一组网站方面为我们提供了宝贵的工具集。但是,我们的新座右铭是 **拉取请求,而不是密码**;我们正在以一种无需在我们的 CMS 上创建帐户就能贡献的方式实施主题、文档、插件等。正如我在初始文章中所述,插件提交流程只需在您的存储库中添加一个 post-receive 钩子。在发生类似灾难的情况下,我们确保能够重放整个插件贡献历史记录,并立即让网站恢复正常速度。我们的目标是利用我们认为有用的 WordPress 功能,而不将其作为进入障碍或内容的规范仓库。如果您认为 WordPress 无论如何,无论如何都是一个糟糕的主意,您当然有权持有这种观点,但在此时,它对对话并没有什么帮助。

Git(Hub) 很难

新的插件网站将作为插件的索引,每个插件页面上都有一个简单的“下载”按钮。您 **无需** 在 GitHub 上浏览寻找 jQuery 插件。如果您不了解 git,并且只想下载 jQuery 插件,您无需学习它。但是,如果您想提交插件,您必须使用某种源代码控制,您至少可以在 git 中镜像它。这是有意为之:构建 jQuery 插件非常容易,但这并不意味着它一定适合公开发布。要求使用源代码控制和 package.json 是被动机制,将有助于确保传播的插件是由满足合理基准的开发人员(并且没有销售电池)编写的。我们仅针对启动时提供 GitHub 支持,但我们希望添加对其他服务的支持。我们正在积极避免使用特定于 GitHub 的功能,这些功能会迫使我们永久地将网站限制在 GitHub 用户。

这是一场阴谋!

有些人质疑了我帐户的真实性,鉴于时间和情况,这是可以理解的。但相信我,在花了一天时间手动从目录中删除垃圾邮件后,我最后不想做的事情就是反过来给包括我和我的同事在内的成千上万的人造成巨大的麻烦。我希望在最后备份重新启动至少部分消除了这些担忧。此外,我们从 GitHub 开始,仅仅是因为它已经拥有非常广泛的用户群,自从我们将其用于 jQuery 核心、UI 和移动端的开发以来,它对我们来说一直非常积极。

再次感谢您在这次过渡期间的耐心等待。

jQuery 插件网站怎么了?

发布日期: 作者:

大约一周以来,我们的插件存储库一直没有托管数百个 jQuery 插件和数千个笔记本电脑电池广告,而是提供了一个关于垃圾邮件和“新的提交流程”的相当可怜的信息。这一切发生得非常突然,我们对所有受到影响的人表示歉意。请允许我花几分钟解释一下发生了什么,我们的目标是什么,以及它如何影响您。如果您时间不多,这里有 简短版本

背景故事

一只白象 虽然您所知道的 和喜爱的 插件网站在最初建立时是一个有价值的工具,但它逐渐成为项目的 白象。虽然 GitHubnpm 等强大的分发工具已经出现,但我们一直困在一个过时的、面向 CMS 的范式中,这使得开发人员和插件使用者感到沮丧。许多人转向其他来源寻找和审查插件。此外,该网站的原始实施者和维护者已经不再积极参与 jQuery 项目。虽然团队面临着关于可用性和功能普遍缺乏的持续投诉,但该网站本身却面临着真正意义上的垃圾邮件攻击(多种形式)。有标准的、关键词丰富的 SEO 垃圾邮件,但还有更阴险的东西:第三方通过批量发布未记录、无演示的插件,并在付费下载网站上提供链接来获取联盟现金。虽然这并没有被明确禁止,但它给用户带来了糟糕、混乱的体验,并且让该网站有一种一切都并非如常的感觉。

最好的计划...

考虑到所有这些问题,团队开始为彻底改造制定要求。我们知道我们想要退出接受上传、提供下载以及在我们自己的服务器上规定插件“发布”流程的业务。由于我们的官方项目已经在 GitHub 上,我们知道我们想利用他们已经为分发、版本控制和促进开放式协作开发而发明的许多轮子。另一个要求是为作者创建一个标准模式,以明确区分依赖项,例如插件支持的 jQuery 版本,以及它正常运行所需的插件和 CSS 资源。我们还希望引入一些质量控制,包括被动机制,例如要求使用 GitHub 和一个用于分发的清单文件,以及主动机制,例如用户评分。最后,我们希望有一个全新的开始;由于对提交的要求更加严格,因此无法批量导入所有旧插件。我们在准备规范方面取得了很大进展,但由于资源不足和其他项目的数量,我们从未能够深入到实施阶段。毕竟,旧网站“有效!”

…通常会出错

Throwing the baby out with the bathwater

随着垃圾邮件泛滥越来越严重,jQuery 核心问题追踪器上出现了大量相关报告,我至少想采取一些措施,清理掉一些垃圾邮件,让我们的脸面不至于太难看。由于获得了网站管理工具的访问权限,我和 Drupal Views 批量操作模块 团队合作,开始识别和删除垃圾邮件发送者及其帖子。在一两天内,网站上近 90% 的所谓“内容”都被删除了。我继续在接下来的几天里监控情况,并删除了出现的垃圾邮件。不幸的是,我可能网撒得太大,把一些好东西也一起扔掉了。更不幸的是,我在开始这个过程之前没有备份数据库。现在你可能已经猜到这个故事的结局了。在本周晚些时候,当我试图删除四条垃圾邮件时,发现剩下的 10% — 数据库中所有剩余的插件 — 都被清除了,我完全惊呆了。只剩下一个一年前的备份。当然,我意识到这是一个糟糕的结果,我对此负全部责任。如果可以的话,我很乐意接受仇恨邮件和推特,谴责我因为不负责任、不专业,或者只是愚蠢。

在这种情况下,我们只剩下两个选择。

  • 继续拖延:从旧备份中恢复,无论如何都会丢失很多数据,并且让作者经历重新上传插件的繁琐过程,即使网站已经计划完全弃用。
  • 利用这个明显的错误作为动力,抛开过去,最终实现我们一直谈论的网站。

我们选择了后者。

具体内容

在过去的几天里,我们已经开始将计划付诸行动,构建了一个由 GitHub 支持的基础设施。在新的网站上列出插件有两个要求
Success Kid is helping out as well

  • 一个有效的 package.json 文件
    我们借鉴了 CommonJS npm 的经验,创建了一个模式来指定 jQuery 插件的依赖项、交付方式和其他元数据。虽然该格式与其他项目非常相似,但我们不得不做一些细微的调整来适应一些特定于插件的细节。
  • 至少有一个版本化的发布
    这意味着用有效的语义版本号 (semver) 字符串 标记 了你的发布点。

我们将提交和维护流程简化为一个单一的、一次性的步骤:在你的插件的 GitHub 仓库中添加一个 post-receive 钩子。假设你的插件符合指南,插件网站上会创建一个页面来展示你的使用和下载信息。我们会跟踪你推送的新版本。

在此期间

我们认识到,旧网站仍然是许多人的常用资源,尤其是 jQuery 的新用户,他们只是重视一个中央浏览位置的存在,尽管它存在缺陷。虽然许多经验丰富的用户已经转向其他网站,或者依赖于与值得信赖的作者的关系和口碑,但这些都需要时间来发展。在能够推出新系统之前,我们很高兴为您推荐其他一些目录和可以帮助解决这个问题的人

如果你在搜索这些目录或任何其他目录时,被重定向到当前的 plugins.jquery.com 网站,通常快速搜索作者姓名和插件名称会找到该插件托管的替代网站。此外,DailyJS 刚刚对替代方案进行了有用的汇总,其中提供了更多详细信息。

插件作者的下一步

如果你是一位插件开发人员,希望确保你的插件在第一天(甚至更早)就能正常运行,你需要确保你的插件在 GitHub 上,然后你需要开始创建你的 package.json 文件,并确保你的版本被正确地标记。如果你还不熟悉 Git 和 GitHub,现在可能是你开始学习和 入门的 好时机。如果你更喜欢其他 SCM 系统,可以考虑从 svnhg 设置一个镜像到 git,或者其他项目托管网站,如 bitbucketgitorious。如果你不以开源的方式开发你的插件,或者你根本不使用任何源代码控制,我们目前无法满足你的需求。

我如何提供帮助?

虽然该网站仍在开发中,但你现在就可以在 github.com/jquery/plugins.jquery.com/ 跟踪进度,甚至设置你自己的本地开发环境。我们仍在努力建立一个公开的测试环境。

虽然该网站本质上是“由”GitHub 提供支持,但显然还有许多其他部分在起作用。该网站实际上是托管在 WordPress 内部,使用一个 node.js 工具填充已索引插件的内容。仍然有很多问题需要解决,所以如果这听起来像你想要加入的堆栈,请加入我们在 仓库。我们将使用 GitHub Issues 来处理所有功能请求、错误和讨论。

虽然我们对构建 package.json 模式付出了很多思考,但它仍然是一个活文档,如果你对它为什么是这样的方式有疑问或意见,请前往 此问题

勘误

在理想的世界里,这当然不会完全按照它发生的那样发生。可悲的是,它确实发生了。我们希望你接受我们对这种过渡可能给你的工作带来困难、让你做一些意想不到的额外工作,或者只是让你感到不爽的道歉。如果你能原谅我们,容忍我们,甚至伸出援手,我们相信我们能够提供社区应得的现代、实用的插件网站。

TL;DR

说了很多话,这里是一些要点。

  • 我们一直计划替换原来的、被垃圾邮件充斥的插件网站
  • 在删除垃圾邮件的过程中,所有插件都被删除了,我们没有最近的备份
  • 与其浪费时间让旧网站维持生命,我们决定彻底断绝关系,并将新网站的开发工作提上日程。
  • 新网站由 GitHub 和一个 插件包清单 提供支持
  • 旧网站上的插件永远不会自动导入到新的网站中。
  • 仓库地址是 github.com/jquery/plugins.jquery.com
  • 我们非常抱歉,但也非常兴奋!

jQuery 大会 2012:英国 — 培训研讨会宣布

发布于

我们很高兴地宣布今年在 英国举办的 jQuery 大会 上将提供 两个培训研讨会。这些培训将由 Doug NeinerRalph WhitbeckMike HostetlerappendTo 的成员)提供。大会的普通门票现已售罄,但你可以购买大会/培训套餐,仍然可以参加大会。

appendTo

appendTo 将提供jQuery 入门jQuery Mobile 研讨会。研讨会将于 2012 年 2 月 9 日星期四在英国牛津的莱迪玛格丽特霍尔举行。

jQuery 入门

jQuery 已经成为最受欢迎的 JavaScript 库,因为它易于学习和编写。本课程将带领学生学习 jQuery 的基础知识,重点是前端开发。本材料旨在为开发人员建立一个核心基础。有了扎实的 jQuery 和 JavaScript 知识基础,开发人员就会自信地为他们的 Web 应用程序增添丰富性。

涵盖的 jQuery 主题*

  • 简介
  • 找到东西,做点事
  • jQuery 函数
  • jQuery 对象
  • 事件/Ajax/更多...

* 主题可能会有所变动

jQuery 入门研讨会的价格为 320 英镑 + 增值税,包括大会通行证,仅培训的价格为 160 英镑 + 增值税。

jQuery Mobile

jQuery mobile 作为移动 Web 开发的最佳解决方案,获得了无可否认的媒体关注。通过渐进增强的方式,jQuery mobile 旨在为所有人提供移动 Web 体验,同时为拥有能够提供丰富体验的移动设备的用户提供奖励。

本培训将全面回顾 jQuery Mobile 框架,介绍所有新功能,以及构建健壮且跨平台的移动网站的功能。我们将涵盖整个 API,并提供如何充分利用每个组件的示例。

培训最后将通过从头开始构建 jQuery Mobile 应用程序的流程,一直到使用 PhoneGap 编译应用程序的原生版本。

涵盖的主题*

  • 移动 Web 的现状
  • jQuery Mobile 功能概述
  • 从头开始构建 jQuery Mobile 应用程序
  • 使用 jQuery Mobile + PhoneGap 实现原生化

* 主题可能会有所变动

jQuery Mobile 研讨会的价格为 420 英镑 + 增值税,包括大会通行证,仅培训的价格为 270 英镑 + 增值税。

培训研讨会将于 2012 年 2 月 9 日在 莱迪玛格丽特霍尔 举行,不在大会举办的赛义德商学院。

征集 jQuery 1.8 想法

发布于

我们准备接受下一轮社区意见,这次是关于 1.8 版本的!这是你提出建议的机会,让我们可以修复、添加、更改或删除 jQuery 中的内容,使其变得更好。

你可以使用 此表格 添加建议;尽可能提供指向错误报告、包含详细说明的页面或代表你想法的实现的链接。我们希望在 12 月 5 日之前收到所有你的意见,以便我们在确定 1.8 版本路线图之前阅读和讨论这些意见。

非常感谢您在我们关于如何通过精简来改进 jQuery 的早期博客文章中提出的建议。我们已经仔细阅读了这些评论,并对如何在未来的版本中解决其中一些问题有一些想法。

创建一个可配置的下载构建器

一些人想知道为什么我们没有一种方法来构建一个只包含您需要的 jQuery 部分的文件,因为例如 jQuery UI 就有这个选项。情况并非完全相同。您知道是否使用的是 UI 手风琴,因为您直接调用它。您通常不知道您或您在页面上包含的某个插件是否使用 $.fn.prepend() 或 $.fn.animate()。您是否使用它们甚至可能取决于您在运行时传递给插件的参数。

为了使 jQuery 的开发易于管理,并确保 CDN 可以提供一个单一文件,让互联网上的每个人都能有效地共享和缓存,团队希望将单个文件作为其主要产品。创建可配置的下载可能会略微改善文件大小,但也会使文档、插件使用和调试变得复杂。这对您和我们来说都是更多的工作。

我们已经开始努力通过消除 jQuery 内部不需要的依赖项来提高模块化;我们宣布的许多弃用功能将针对消除这些依赖项。通过打下这个基础,那些想要创建他们自己的更小的 jQuery 子集或模块化版本的人应该更容易做到。

但是,我们相信我们可以做得更好,并且希望提供自动化方式,让任何用户都可以创建包含应用程序代码和 jQuery 所需部分的最佳最小化文件。特别是,我们正在与 Google Closure Compiler 团队合作,看看是否可以使用其ADVANCED_OPTIMIZATIONS 选项。我们将随着进展提供更多有关我们进展的信息。

等到 2.0 版本再删除东西

我们对破坏所有现有的 jQuery 代码非常敏感。这就是我们尽早弃用东西的原因,这样人们就有足够的时间来更改他们的代码。仅仅因为我们今天弃用了某样东西,并不一定意味着我们会在下一个版本中删除它。我们相信 1.8 中实际删除的项目列表很小,不太可能影响大多数用户。

如果我们使用 Closure Compiler 的实验成功,我们甚至可以保留许多弃用功能,但如果不用它们,这些功能就会被自动删除,并且可以构建一个包含 jQuery 的自定义应用程序文件。这将是两全其美的事情。

删除 IE 6、7 和/或 8 支持

这个话题经常出现,所以让我们尝试一劳永逸地解决这个问题。人们往往高估了 jQuery 中专门与 IE 相关的代码量。IE 6 和 IE 7 中的大多数问题也存在于 IE 8 中,因此,只要 IE 8 仍然拥有相当大的桌面市场份额,并且必须得到支持,就没有真正的删除对前两个浏览器支持的大小或复杂性优势。没有人(包括微软本身)喜欢这些侏罗纪公园浏览器,但现在就剥夺对它们的支撑会破坏许多用户的网站。

也就是说,我们知道在某些情况下,例如移动浏览器,并不需要旧版本的 IE 支持。我们正在探索将尽可能多的此类代码放入一个清晰标记的块中的方法,以便那些愿意创建自己的自定义 jQuery 版本的人可以轻松地将其删除。也可能可以使用 Closure Compiler 的帮助来解决这个问题。但是,我们不确定这是否能节省压缩后的文件大小,而且它不会提高性能,因为这些代码路径在其他浏览器中没有被使用。

删除 jQuery.browser

我们已经记录了将近两年,我们打算将 jQuery.browser 移到插件中,许多人在评论中也建议这样做。浏览器嗅探不是查找功能的可靠方法,我们建议使用类似Modernizr 的东西。用于浏览器嗅探的正则表达式很大,压缩效果不好;将其移动到插件中将确保只有使用它的人必须承担这种大小损失。

您的想法呢?

请抓住这个机会,给我们提供您的意见。团队期待审查您的建议。哦,别忘了尽快尝试 jQuery 1.7.1!

jQuery 1.7.1 发布

发布日期: 作者:

在美国,我们本周正在庆祝感恩节。对于世界其他地方的那些人来说,这是一个安装和测试新版本的 JavaScript 库,同时享用妈妈自制美食的时间。有点像代码冲刺,但食物更好。我们邀请全世界的人们一起参加这些传统。

为了开始庆祝活动,jQuery 团队非常感谢能够发布 1.7.1 版!在这一轮中,我们在以下列出的大量错误方面取得了显著进展。我们正在 jQuery CDN 上提供我们美味的副本,它们是新鲜出炉的

这些最新文件也应该很快出现在主要 CDN 上,但请耐心等待,因为这也是他们的假期周。

请将此最新版本的 jQuery 与您的代码一起安装和测试。我们希望您会发现它很美味。如果我们忘记煎一些土耳其火鸡错误,我们希望听到它。只需为您发现的问题构建一个具体的测试用例(我们喜欢jsFiddle.net 来实现这一点),并在bugs.jquery.com 上创建错误报告。

此外,请欢迎新的 jQuery 核心团队成员 Mike Sherov!我们很感谢他在我们为即将发布的版本制定的所有伟大计划中提供的帮助。Mike 在纽约市的SNAP Interactive 工作全职,但在业余时间为该项目做出贡献。请效仿 Mike,尽你所能帮助该项目。它不一定是编码。我们总是需要帮助在论坛上回答问题,或者只是复制和识别错误跟踪器中报告的难以理解的错误的来源。请参阅我们的参与 页面以获取信息。

我们将在一天或两天内开始征集 1.8 的建议。看看 1.7.1 版本,想想我们可以在下一个大版本中添加什么样的绝妙酱汁!

jQuery 1.7.1 变更日志

1.7.1 版本的变更日志。

Ajax

  • #10723:jqXHR.always() 返回 Promise 而不是 jqXHR 对象

属性

  • #10724:$(document).text() 始终返回空字符串
  • #10773:removeAttr 对边缘情况很脆弱

构建

  • #10630:修复与焦点相关的测试失败以解决 Swarm 失败

核心

  • #10616:.eq 中未对 -1 进行类型强制转换
  • #10646:让 jQuery.error 抛出 instanceof Error 对象
  • #10682:使用 $(‘ ‘) 创建 DOM 元素会导致内存泄漏并跳过片段缓存
  • #10687:jQuery 过早地调用了 AMD define() 全局函数
  • #10690:isNumeric

Css

  • #10733:在 css 模块中使用 for 循环替换 jQuery.each

数据

  • #10675:使用 internalKey 快捷方式而不是 jQuery.expando

效果

  • #10669:.animate() 不再对百分比 (%) 宽度进行动画
  • #10750:数据对象中的“null”可能会导致 stop 中出现错误

事件

  • #10676:wheelDelta 不再添加到 mousewheel 事件中
  • #10701:使用 submit 函数提交表单存在问题
  • #10704:special.handle 方法应该在 origType 名称下触发
  • #10705:off 错误事件名称解析器
  • #10712:使用 live 绑定触发 blur 失败
  • #10717:触发的 load 会冒泡到窗口
  • #10791:委托事件在 SVG 元素上失败
  • #10794:.triggerHandler 不应该 .preventDefault()
  • #10798:live(“submit”) 和 .submit() 会导致非侵入式 ajax live 触发两次
  • #10844:.delegate() 在提交时不起作用,因为表单包含名称为“id”的输入

操作

  • #10177:.wrap 中回调函数的索引始终为 0
  • #10667:.wrapAll() 中的 HTML5 支持会向元素添加“:”
  • #10670:rnoshimcache 可能构造不正确
  • #10812:将空对象传递给 .before() 或 .after() 会在 IE7 中抛出异常

杂项

  • #10691:从单元测试中删除所有“equals”和“same”函数的出现

支持

  • #10629:IE 对假主体过于敏感。探索清理 support.js 以避免任何未来的崩溃。
  • #10807:注释中的非 ASCII 撇号

对 jQuery 感到厌倦

发布日期: 作者:

TL;DR 负责监督 jQuery 的财务和管理的机构,过去被称为 jQuery 团队,现在被称为 jQuery 委员会。jQuery 团队是指任何为 jQuery 及其相关项目投入大量时间的人。

随着 jQuery 从2005 年的酷想法发展成为当今互联网上使用最广泛的 JavaScript 代码,支持其开发及其社区所需的组织结构也随之改变。随着时间的推移,电子邮件链变成了邮件列表,从这些列表中演变出一个被称为 jQuery 团队的松散联盟。要加入这个团队,您只需为项目的某些方面做出持续贡献,最终 John 会将您的姓名添加到我们文档维基中的一个页面中。

到 2009 年,团队希望巩固项目的长期未来,因此我们接受了加入软件自由保守协会的邀请,从那时起,我们收到了来自该协会的大量行政和法律支持。虽然 SFC 提供了“项目可以继续以加入协会之前的方式运作,而无需选择董事会或任何其他层级的公司管理”这一说法,但团队选择实施一个治理系统,通过该系统,项目的正式决策将在“核心团队”成员的公开投票后传达给协会,该团队最初有 21 名成员。这为原本相对临时性的流程赋予了大量的形式,虽然该系统运行良好,但它也带来了一些困惑。

  • 一方面,有投票成员,主要负责整个项目的财务和管理决策。另一方面,有一群真正的人在开发 jQuery Core 本身。这两个群体有时被称为 jQuery Core 团队,这相当具有误导性。
  • 当新人加入并成为项目某些部分的积极贡献者时,告诉他们“嘿,干得不错,但你*不在*团队中!” 并不有趣。
  • 仅仅因为你对破解 jQuery Core、UI 或 Mobile(或处理文档,或任何你能帮助项目的其他方式)真正感兴趣,并不意味着你有一丝一毫的愿望参加冗长的会议,讨论如何分配资金以及如何在下次会议上改善饮料服务。
  • 随着人们生活的起伏,他们的贡献能力发生变化是正常的。在当前情况下,成为真正积极的贡献者与在项目的宏观管理中拥有投票权之间有什么样的正确关联呢?

为了尝试解决一些混乱并使该群体的目的更加清晰,jQuery 团队现在被称为 jQuery 委员会,所有适用于团队的治理规则现在都适用于委员会。委员会负责

  • 批准和拨付支出
  • 向 SFC 代表 jQuery 项目的意图
  • 监督和指导子团队,并选择负责项目各个方面的子团队负责人
  • 投票决定自己的组成

如果你一直想“加入团队”,但不知道这意味着什么或你会做什么,那真是好消息!我们完全拥抱 维基百科对团队的定义:一群人(或动物!)以共同目标联系在一起。因此,任何持续一段时间志愿积极参与 jQuery 子团队的人都会被邀请加入 jQuery 团队(由子团队负责人自行决定),这样你就可以在你的幻灯片、冰箱等上放心地写上这个信息。

不变的是,如果你对 Web 开发充满热情,并且试图找到一种方法来为世界各地的开发人员做出贡献,那么 jQuery 社区欢迎你。进入 论坛 并帮助其他开发人员。前往我们的 各种 错误 跟踪器 并帮助对未解决的问题进行分类 - 或者 深入研究并看看你是否可以提供一个补丁。如果你只想了解一下情况,加入 每周的 IRC 会议。想要参与某个特定项目?查看 更新后的团队页面 并与合适的子团队负责人联系!有一点可以肯定

jQuery wants you!

jQuery 1.7.1 RC1 发布

发布于

为了让你知道我们并没有在 jQuery Central 睡大觉,我们发布了一个新的 jQuery 预览版本。它修复了自原始 1.7 版本以来社区报告的问题。请在你的应用程序中测试代码,确保没有重大问题。如果你尝试过 jQuery 1.7 并报告了错误,那么在这个版本中应该已经修复了。

您可以从 jQuery CDN 获取代码

你可以帮助我们,将代码放入你现有的应用程序中,并让我们知道是否有什么不再工作。请 提交错误,并确保提到你是在针对 jQuery 1.7.1 RC1 进行测试。

我们鼓励社区中的每个人尝试并 参与 回馈 jQuery 核心。我们专门设置了一个 完整页面 的信息,专门介绍如何更多地参与团队。团队就在这里,随时准备帮助你帮助我们!

jQuery 1.7.1 RC1 变更日志

当前 1.7.1 RC1 版本的变更日志。

Ajax

  • #10723:jqXHR.always() 返回 Promise 而不是 jqXHR 对象

属性

  • #10724:$(document).text() 始终返回空字符串
  • #10773:removeAttr 对边缘情况很脆弱

构建

  • #10630:修复与焦点相关的测试失败以解决 Swarm 失败

核心

  • #10616:.eq 中未对 -1 进行类型强制转换
  • #10646:让 jQuery.error 抛出 instanceof Error 对象
  • #10682:使用 $(‘ ‘) 创建 DOM 元素会导致内存泄漏并跳过片段缓存
  • #10687:jQuery 过早地调用了 AMD define() 全局函数
  • #10690:isNumeric

Css

  • #10733:在 css 模块中使用 for 循环替换 jQuery.each

数据

  • #10675:使用 internalKey 快捷方式而不是 jQuery.expando

效果

  • #10669:.animate() 不再对百分比 (%) 宽度进行动画
  • #10750:数据对象中的“null”可能会导致 stop 中出现错误

事件

  • #10676:wheelDelta 不再添加到 mousewheel 事件中
  • #10701:使用 submit 函数提交表单存在问题
  • #10704:special.handle 方法应该在 origType 名称下触发
  • #10705:off 错误事件名称解析器
  • #10712:使用 live 绑定触发 blur 失败
  • #10717:触发的 load 会冒泡到窗口
  • #10791:委托事件在 SVG 元素上失败
  • #10794:.triggerHandler 不应该 .preventDefault()
  • #10798:live(“submit”) 和 .submit() 会导致非侵入式 ajax live 触发两次

操作

  • #10177:.wrap 中回调函数的索引始终为 0
  • #10667:.wrapAll() 中的 HTML5 支持会向元素添加“:”
  • #10670:rnoshimcache 可能构造不正确
  • #10812:将空对象传递给 .before() 或 .after() 会在 IE7 中抛出异常

杂项

  • #10691:从单元测试中删除所有“equals”和“same”函数的出现

支持

  • #10629: IE 对假 body 太过敏感。探索清理 support.js 以避免将来出现任何崩溃