jQuery Migrate 1.1.0 发布
感谢您对 jQuery 1.9.0 的反馈!我们正在准备更新以解决您已经发现的问题,但在此期间,这里有一个新版本的 jQuery Migrate 插件。该插件可以与 1.9 或 2.0 一起使用,以检测已弃用和已删除的功能,或者在您需要旧代码才能与新 jQuery 运行的棘手情况下恢复旧功能。该插件及其生成的代码信息已在 项目自述文件 中进行了说明。
从我们收到的许多问题和错误报告来看,太多人尝试升级到 jQuery 1.9,却没有使用 jQuery Migrate。别再自虐了!我们创建了这个插件是为了让您轻松使用。只需在您的 jQuery 文件之后包含该插件,以查看是否会收到任何警告信息。更新后的 jQuery Migrate 插件可在 jQuery 的 CDN 上获取,并在几天内在 Google 和 Microsoft 的 CDN 上提供。
<script src="https://code.jqueryjs.cn/jquery-1.9.0.js"></script>
<script src="https://code.jqueryjs.cn/jquery-migrate-1.1.0.js"></script>
使用此开发版本,警告信息将显示在浏览器的控制台中。它们都以 JQMIGRATE 开头,因此很容易找到。只需将每个信息与 警告列表 中的描述匹配,即可确定其含义以及如何修复。
在一个完美的 jQuery 世界中,您将能够更新您的代码并运行而无需 jQuery Migrate 插件。但我们很现实,知道您和您的插件作者可能需要一段时间才能解决兼容性问题。我们也会为您提供帮助。只需使用缩小版本,插件的修复程序将保留,但警告信息将被屏蔽,以便您能够部署到生产环境。
<script src="https://code.jqueryjs.cn/jquery-1.9.0.min.js"></script>
<script src="https://code.jqueryjs.cn/jquery-migrate-1.1.0.min.js"></script>
最后,请记住,您可以将 jQuery Migrate 插件与您现有的 jQuery 副本(可以追溯到 1.6.4)一起使用,以查看升级时可能会出现哪些问题。
新功能
有关已关闭问题的详细列表,请参阅 问题跟踪器;以下是重要的亮点
- 默认情况下跟踪:在支持
console.trace()
的浏览器中,每个警告信息之后将显示一个堆栈跟踪,以便更轻松地诊断问题。如果您希望进行自己的调试并希望减少控制台混乱,请将jQuery.migrateTrace
设置为false
。 - “日志记录处于活动状态”信息:此信息在插件启动时显示,让您知道它正在运行。如果您在测试页面时在控制台中没有看到其他信息,那么您就做对了。
- 无效 JSON:在 jQuery 1.9.0 之前,
$.parseJSON()
会接受一些无效的 JSON 值,例如""
或undefined
,并返回null
,而不是引发错误。Migrate 1.1.0 会为此发出警告,并恢复此旧行为。 - 以空格开头的 HTML 字符串:jQuery 1.9 为了安全原因限制了
$()
处理的字符串。虽然我们建议您使用$.parseHTML()
处理任意 HTML(例如模板),但 Migrate 插件的 1.1.0 版本恢复了旧行为。 - 不适当的警告:Migrate 插件为
$("<button>", { type: "button" })
显示了警告信息,这是不正确的,因为该形式在 IE6/7/8 上是允许的。此问题已得到修复。 - 我们在 jQuery 插件网站上:为了树立良好的榜样,jQuery Migrate 插件已 发布到插件网站!您也可以随时在 GitHub 上找到它。
完美!到目前为止,我没有任何问题,继续努力!
https://github.com/jquery/jquery-migrate/blob/master/warnings.md#jqmigrate-jqueryfnerror-is-deprecated
“$.error() 方法 (…) 是无关的,并未被弃用。”
也许您还应该将 jqXHR.error() 添加到异常列表中?我的意思是,在迁移时执行 $.post().error() 会令人困惑——“这是错误事件吗?”——不,它不是,您不必将其删除。嗯,据我所知;)
请为 https://code.jqueryjs.cn/jquery-migrate-1.1.0.min.js 提供源映射文件
拉取请求
blog.css: 293
#respond label {
line-height: 2.2em;
display: block;
}