jQuery 1.11 和 2.0 的最新 Beta 版本已经发布!你可以在这里获取它们:
请记住,jQuery 1.x 支持 IE 6/7/8,而 jQuery 2.x 不支持。
Beta 版本包含的内容
异步模块定义 (AMD): 1.11/2.1 中最大的变化仍然是 AMD。jQuery 自 1.7 版本以来就支持通过 AMD 加载器加载库本身。现在,我们也在内部使用 AMD,取代了旧的模块化构建系统。如果你想了解更多信息,请阅读 README 文件。
发布到 npm: 此 Beta 版本的 2.x 分支以及我们未来的所有 2.x 版本都将 发布到 npm,以便你可以将其与 node 或 browserify 等包一起使用。请注意,主 jquery 页面目前尚未更新,在我们将最终的 2.1.0 推送到它之前不会更新。如果你想安装 Beta 版本,可以使用 npm install jquery@2.1.0-beta2。非常感谢 Domenic Denicola,他已经报告了将在下一轮中修复的错误 #14548 和 #14549。
性能: 我们新的“延迟特性检测”减少了库的启动时间,这对于移动设备尤其有利。如果你从未使用某个 API,那么你甚至不需要运行该代码!我们还发现并删除了 jQuery 不必要地强制页面布局发生的一些情况。
错误修复: 此版本包含大量的错误修复,包括几个用于确保最新版本的浏览器(如 IE11)能够顺利运行并消除 Chrome 中的控制台警告。许多修复在两个版本之间共享。你可以在下面查看完整的变更日志。
破坏性更改: 没有! 如果你已经 升级到 1.9+ 或正在使用 jQuery Migrate 插件,我们致力于使这次更新对你来说变得容易。
请尝试这些 Beta 版本,并告诉我们一切是否正常运行。当我们发布新的生产版本时,人们发现本可以在 Beta 过程中修复的错误,这总是让我们感到沮丧。只需几分钟即可对你的代码进行冒烟测试,这将为你和我们节省很多未来的麻烦!
令人难过的 sourcemap 故事
我们在此 Beta 版本中进行的一项更改是删除了 sourcemap 注释。Sourcemaps 已被证明对开发人员来说是一个非常棘手和令人困惑的问题,在 StackOverflow 等论坛上产生了大量的困惑问题,并导致用户认为 jQuery 本身已损坏。
我们仍然会生成和分发 sourcemaps,但如果浏览器不支持手动关联 map 文件(目前,没有浏览器支持),则需要在压缩文件的末尾添加适当的 sourcemap 注释。如果你使用自定义构建过程生成自己的 jQuery 文件,则压缩文件中将存在 sourcemap 注释,并且会生成 map;你可以保留它并使用 sourcemaps,或者将其编辑出去并完全忽略 map 文件。
我们将鼓励浏览器制造商提出更好的方法来处理 sourcemaps,以处理类似 jQuery 的情况,即在 CDN 上广泛分发文件。我们希望 sourcemaps 能够健壮且优雅地处理文件重命名或文件丢失等情况。有关更多信息,请参阅我们的 错误工单。
让我们心存感激
随着感恩节的临近,让我们向自上次发布以来为 jQuery 核心代码做出贡献的优秀人员表示感谢:Amey Sakhadeo、Anthony Ryan、Chris Antaki、Chris Price、Corey Frang、Daniel Herman、Dominik D. Geyer、George Kats、Guy Bedford、Ilya Kantor、Jeremy Dunck、Jörn Zaefferer、Lihan Li、Marian Sollmann、Michał Gołębiowski、Mike Sidorov、Noah Hamann、Oleg Gaidarenko、Richard Gibson、Ronny Springer、Scott González、Sindre Sorhus、Terry Jones、Timmy Willison 和 Timo Tijhof。
jQuery 1.11 和 2.1 Beta 2 变更日志(两者通用)
Ajax
属性
构建
- #12757:通过构建过程强制执行样式指南
- #13983:切换到 //# 用于 sourcemap 指令
- #14113:AMD 化 jQuery 源代码
- #14118:使用 bower 包含 Sizzle 和 QUnit(删除子模块)
- #14163:使 Deferreds/Callbacks/.ready() 成为可选模块
- #14415:删除 sourcemap 注释
- #14450:从源代码中删除 CommonJS+AMD 语法
核心
Css
- #14150:IE9-10 curCSS => “接口不受支持” 在弹出窗口(以及可能框架)中
- #14394:style=”x: y !important;” 在 Chrome 和 Safari 中调用 el.css(x, z) 时不会更改,但在 Firefox 中有效
数据
- #14101:JQUERY 1.10 的 .DATA() 结果与尝试从不存在的对象获取数据时的 1.8 不同。
- #14459:data-* 属性解析绕过 jQuery.parseJSON(与 1.x 不一致)
Effects
事件
- #13993:.triggerHandler 不会从 DOM0 事件的处理程序返回值
- #14180:跨窗口 focusin/out 特殊事件不起作用
- #14282:如果存在 defaultPrevented 属性,则不要调用 getPreventDefault()
选择器
- #14142:在 Safari 中 XML 文档中具有数字 ID 时返回的元素数量错误
- #14351:在未附加的 DOM 节点上运行 `find` 时抛出异常
- #14535:在 IE11 中,当最后一个上下文是不再存在的 iframe 文档时,选择失败
支持
- #10814: make support as lazy as possible with closure in mind
- #14084:elem.css(‘width’) 在 document ready 之前运行,且 box-sizing: border-box 时提供不正确的输出
- #14401:加载 application/xhtml+xml 页面时出错
- #14496:jQuery 2.1.0-beta1 无法在 XHTML 页面中初始化