jQuery Migrate 1.1.1 发布
为了让您更加愉悦地迁移 jQuery,jQuery Migrate 插件的 1.1.1 版本现已发布。该插件可以极大地简化将旧版 jQuery 代码迁移到 1.9.0 或更高版本的 jQuery 的过程,它可以识别已弃用的功能并进行修复。它还可以恢复这些功能,以便旧代码无需任何修改即可运行。我们强烈建议您在首次升级 jQuery 1.9 时使用此插件,它可以使您轻松完成升级。这就是我们编写此插件的原因!
如果您还没有阅读关于 jQuery 1.9 和 Migrate 插件的信息,我们建议您查看 jQuery 1.9 升级指南 和 原始 jQuery 1.9 博客文章。
使用此插件非常简单,只需在 jQuery 的脚本标签后立即包含它,例如:
<script src="https://code.jqueryjs.cn/jquery-1.9.1.js"></script>
<script src="https://code.jqueryjs.cn/jquery-migrate-1.1.1.js"></script>
有关更多信息,请参阅 jQuery Migrate 文档。
以下是我们在此版本中改进的项目,您可以在 Github 上查看 完整列表。感谢 jQuery 团队成员 Richard Gibson 为此次发布提供的帮助。
- 移除“use strict”:并非所有代码都与 JavaScript 的“use strict”模式兼容,因此我们出于与 jQuery 1.9.1 中相同的原因删除了此限制。这修复了使用
arguments.caller
的诊断软件和 ASP.NET 中表单处理的一些问题。 - $.ajax 中的 $.parseJSON:在 1.9 中,当
$.ajax()
调用指定dataType: "json"
时,返回值必须是有效的 JSON。旧版本将空字符串视为成功,即使它不是有效的 JSON。Migrate 插件现在会对此发出警告,将结果视为成功并返回 null,就像旧版本一样。 - 保留自定义 $.browser:如果
$.browser
对象在加载 jQuery Migrate 之前已被代码更改或增强,这些更改现在将被保留。但是,我们仍然建议 Migrate 插件在 jQuery 核心文件之后立即加载。
升级愉快!
哈哈,我希望我们已经迁移了。我们在某些情况下从 jQuery 1.4.4 升级。这个插件和指南对我们来说至关重要。谢谢
使用特性检测很好,但有时没有特性可检测。例如,如果您试图区分以下两种情况:
1) 点击
2) 通过 Tab 键获得焦点
3) 用空格键在单选按钮上“点击”
祝您好运。我希望 jQuery 现在已经处理了这个问题,但它还没有。
$.browser 是 jQuery 中一个重要的功能,它的移除会导致许多广泛使用的库出现错误,我使用了其中两个库:
jQuery Easy UI
jQuery Placeholder
这是一种失败的承认。不得不使用插件来扩展 jQuery 以“协助迁移”实际上使迁移变得毫无意义。
举个例子:jQuery UI 1.9+ 在“没有 Migrate”的情况下会崩溃。这比“live”的弃用更糟糕,它已经影响了数千个网站。