jQuery 2.0 的下一个 Beta 版已经发布!这个 Beta 版根据我们在第一个 Beta 版中收到的反馈,进行了几个更改和调整。我们真的需要您也测试这个版本,并告诉我们还需要做些什么。我们相信这个版本非常稳定,可以供您尝试;不要等到最终版本发布才测试,然后发现您的代码无法运行。
请记住,jQuery 2.0 *不会运行* 在 IE 6、7 或 8 上;我们将把这个任务留给 jQuery 1.9。我们完全预计大多数互联网网站可能会继续使用 jQuery 1.x 很长一段时间,只要较旧版本的 IE 仍然占 web 冲浪者的很大一部分。因此,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 应用商店(“现代/地铁 UI”)应用程序
- BlackBerry 10 WebWorks 应用程序
- PhoneGap/Cordova 应用程序
- Apple UIWebView 类
- Microsoft WebBrowser 控件
- Cheerio 或 jsdom 与 node.js
- Intranet 应用程序
在 node.js 方面,jQuery 团队现在拥有 npm 中的“jquery”和“jQuery”名称,并将很快在 npm 中发布 2.0 版本。
您可以从 jQuery CDN 获取这个最新的 Beta 版
https://code.jqueryjs.cn/jquery-2.0.0b2.js
要使用 jQuery 2.0 运行 1.9 之前的代码,您还可以使用jQuery Migrate 插件来恢复这些旧版本的已弃用功能,或诊断兼容性问题。我们强烈建议您为旧代码使用 Migrate,它可以节省您在调试时花费的大量时间和精力。
新增功能
修复了大量 bug:所有来自 jQuery 1.9.1 和 1.9.2pre 的相关修复都已合并到 jQuery 2.0 beta 2 中。我们不得不放弃一些不受较旧版本 WebKit(例如 Android 2.3)支持的优化,但其中大多数优化对大小影响不大。尽管如此,我们还是计划尽快将它们恢复!为了帮助我们,每次您看到一部旧的 Android 手机时,都可以“不小心”用锤子敲一下它。
新的 .data() 实现:这段新代码是 Rick Waldron 彻底重写的。它更小、更简单,而且比旧代码更容易维护。
自定义构建中的模块化程度更高:如果您愿意使用 .on("mouseover"...)
而不是 .mouseover(...)
,那么现在可以排除所有冗余的事件简写,例如 .mouseover(...)
。
最小选择器引擎:Richard Gibson 创建了一个围绕浏览器本机 querySelectorAll
和 matchesSelector
API 的小型包装器,可以作为完整 Sizzle 选择器引擎的替代方案。但是请注意,支持的选择器和语义存在重大差异。例如,这个最小引擎不支持 jQuery 选择器扩展,例如 :radio
或 :first
。
自定义构建
我们希望您尝试一下基于grunt的自定义构建系统。有关创建自定义构建的更多详细信息,请参阅自述文件。从 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 版本的完整构建大小(gzip 压缩后为 29,387 字节)小 40%。作为比较,当前的 1.9 分支 gzip 压缩后为 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
效果
事件
操作
选择器
支持
遍历