jQuery 2.0 的下一个测试版已经发布!此测试版根据我们从慷慨地测试第一个测试版的人那里收到的反馈,进行了一些更改和调整。我们真的需要你测试此版本,并告诉我们还需要做什么。我们相信此版本非常稳定,可以供你尝试;不要等到最终版本发布,然后才发现你的代码无法运行。
请记住,jQuery 2.0 无法 在 IE 6、7 或 8 上运行;我们将把这项任务留给 jQuery 1.9。我们完全预计大多数互联网网站可能会继续使用 jQuery 1.x 很长一段时间,只要旧版本的 IE 仍然占很大一部分的网络冲浪者。因此,jQuery 团队也将继续支持 jQuery 1.x 和 2.x 代码行。不要觉得你在使用 1.9 时错过了什么或落后了,因为 1.9 和 2.0 的 API 是相同的。
如果你想在仍然需要支持 IE 6、7 和 8 的网站上尝试 jQuery 2.0,可以使用条件注释。除旧版 IE 外的所有浏览器都将获取第二个脚本并忽略第一个脚本。
<!--[if lt IE 9]>
<script src="jquery-1.9.1.js"></script>
<![endif]-->
<!--[if gte IE 9]><!-->
<script src="jquery-2.0.0b2.js"></script>
<!--<![endif]-->
还有许多其他环境非常适合 jQuery 2.0。以下是一些建议
- Google Chrome 插件
- Mozilla XUL 应用程序和 Firefox 扩展
- Firefox OS 应用程序
- Chrome OS 应用程序
- Windows 8 Store(“现代/地铁 UI”)应用程序
- BlackBerry 10 WebWorks 应用程序
- PhoneGap/Cordova 应用程序
- Apple UIWebView 类
- Microsoft WebBrowser 控件
- Cheerio 或 jsdom 与 node.js
- 内部网应用程序
在 node.js 方面,jQuery 团队现在在 npm 中拥有“jquery”和“jQuery”名称,并将很快在那里发布 2.0 版本。
你可以从 jQuery CDN 获取此最新测试版
https://code.jqueryjs.cn/jquery-2.0.0b2.js
要使用 jQuery 2.0 运行 1.9 之前的代码,你也可以使用 jQuery Migrate 插件 来恢复旧版本的已弃用功能和/或诊断兼容性问题。我们强烈建议你对旧代码使用 Migrate,它将节省大量调试时间和麻烦。
新增功能
大量错误修复:所有来自 jQuery 1.9.1 和 1.9.2pre 的相关修复都已整合到 jQuery 2.0 beta 2 中。我们很遗憾不得不撤回一些旧版本的 WebKit(例如 Android 2.3)不支持的优化,但其中大部分并没有显著影响大小。不过,我们计划尽快将它们恢复!为了帮助我们,无论何时你看到一部旧的 Android 手机,你都可以“不小心”用锤子敲它。
新的 .data() 实现: 这段新代码是由 Rick Waldron 重新编写的。它比旧代码更小、更简单,而且可维护性更高。
自定义构建中的模块化程度更高: 如果你愿意使用 .on("mouseover"...)
,现在可以排除所有冗余的事件简写,例如 .mouseover(...)
。
最小选择器引擎: Richard Gibson 创建了一个围绕浏览器原生 querySelectorAll
和 matchesSelector
API 的小型包装器,可以用作完整 Sizzle 选择器引擎的替代品。但是,请注意,支持的选择器和语义存在 重大差异。例如,此最小引擎不支持 jQuery 选择器扩展,例如 :radio
或 :first
。
自定义构建
我们希望你尝试基于 grunt 的自定义构建系统。 README 提供了有关创建自定义构建的更多详细信息。从 beta 2 开始,你可以用简单的选择器引擎替换 Sizzle,并排除 css、事件别名、动画、偏移量和已弃用的功能,例如尚未删除的 .andSelf()
。此外,你可以排除脚本、JSONP 或 XMLHTTPRequest 传输的子集。没错,拒绝我们 jQuery 现实中的任何模块,并用你自己的模块替换它。
以下是如何使用模块化构建进行节省的示例。假设你不需要 css、偏移量、尺寸或已弃用的模块,并且计划完全通过 CSS 过渡和类来完成动画。此外,你只通过 $.ajax()
使用 JSONP。你将使用 .on()
进行事件管理,并保持你的选择器简单,以便最小选择器引擎可以完成这项工作。执行此操作的构建命令为
grunt custom:-sizzle,-css,-event-alias,-effects,-offset,-dimensions,-deprecated,-ajax/xhr
通过 gzip 传输时,从该自定义构建生成的该文件仅为 17,530 字节,比完整 2.0 构建(压缩后为 29,387 字节)小 40%。作为比较,当前的 1.9 分支压缩后为 32,770 字节。
我们仍然认为,对于绝大多数 jQuery 用户来说,最简单的方法是:使用 jQuery 的完整版本,从 CDN 或本地服务器提供服务。大多数 jQuery 插件的编写方式不允许你使用 jQuery 核心功能的子集——毕竟,它们从未预期到任何功能会丢失!但是对于值得花费时间确定这些依赖关系的情况,jQuery 当前的模块化程度提供了极佳的灵活性。
感谢为此次发布贡献修复的人员:Adam Coulombe、Andrew Plummer、Danil Somsikov、Dmitry Gusev、Isaac Schlueter、James Burke、Jean Boussier、Julian Aubourg、Karl Sieburg、Mark Raddatz、Mike Sherov、Nguyen Phuc Lam、Oleg Gaidarenko、Pascal Borelli、Richard Gibson、Rick Waldron、Ryunosuke Sato、Timmy Willison 和 Timo Tijhof。特别感谢 Scott González 的简称为“Whitespace”的最小化工作。
变更日志
Ajax
构建
核心
Css
Deferred
效果
事件
操作
选择器
支持
遍历