问题标签 [jquery-migrate]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 将 jQuery 从 1.12.3 迁移到最新的 3.5.1
我正在将 jQuery 从 1.12.3 升级到 3.5.1(最新版本)。我的应用程序很大,我们有 jQuery 版本 1.12.3。在 jQuery 迁移脚本的帮助下升级时,遇到了一些技术挑战:
- 不能直接从版本 1.xx 升级到 3.xx(显然我们不能清楚地做到这一点,他们在 jQuery 指南中提到。因为大多数 api 在 1.xx 版本中已被弃用)。
- 首先出于测试目的,我尝试了带有 3.3.0 迁移脚本的 3.5.1 jQuery。由于我的应用程序被大多数带有 jQuery 版本(1.12.3)的客户端使用,因此它产生了更多的阻塞问题。所以我计划先一步一步迁移到 2.2.4 jQuery 和 1.4.1 迁移。在我的应用程序中,我们为单个模块使用了很多 die() 和 live() 事件,因此我计划为 die() 和 live() 事件制作我们自己的迁移脚本。这是 live() 的代码,它转换为 on()。
它运作良好。当对 Die() 使用相同的技术时,它不起作用。因为例如
我们无法获取 die 函数的事件和选择器。所以我放弃了这个选项。有没有其他方法可以通过最少的代码更改来升级 jQuery?
或者
如果我手动更改 on() 和 off() 方法,如何确保事件正常工作而不是手动测试。由于手动代码替换和测试将影响 Web 应用程序开发路线图时间表。
jquery - 当我们使用 jQuery Migrate 升级版本并且不替换已弃用的方法时,jQuery 是否仍然存在 XSS 漏洞?
下面的网站说 jQuery Migrate 恢复了旧 jQuery 的已弃用方法。
https://github.com/jquery/jquery-migrate
当我们将版本升级到最新的 3.5.1 并且不将不推荐使用的方法替换为新方法时,jQuery 是否仍然存在 XSS 漏洞?
我找了资料,但找不到好的网站。如果您能给我一些有关它的信息,将不胜感激。
jquery - 我们不应该在生产环境中使用 jQuery Migrate 吗?
我发现下面的网站说 jQuery Migrate 不应该在生产环境中使用。
https://forum.jquery.com/topic/jquery-migrate-plugin-in-production
我寻找信息是否属实以及为什么,但我找不到。
你能告诉我原因吗?jQuery Migrate 应该仅用于修复已弃用的功能和行为吗?
我实际上设置了较新的 jQuery 和 jQuery Migrate 的 CDN,而没有修复不推荐使用的方法并且代码有效。所以我认为没有问题。
jquery - 错误使用 removeProp() 时 jquery Migrate 插件没有警告
在我解释这个问题之前,让我告诉你我清楚地知道 jQuery removeProp 不应该用于原生属性,例如禁用、选中和选中。https://api.jquery.com/removeProp/
我们将 jQuery 从 1.12.3 升级到 3.6.0。我们使用 JQuery 迁移插件来识别兼容性问题并修复控制台中生成的所有警告。
$(“#x”).removeProp(“disabled”)
确实在 1.12.3 中工作并在升级到最新版本后停止工作。但是除非我们手动测试页面,否则我们无法确定问题。我想知道为什么 jQuery 迁移插件没有给我们同样的警告。
我知道我们以前用错了,我们很高兴将其改正为$(“#x”).prop(“disabled”,false)
javascript - $.trim().val 不是函数
我正在将我们的应用程序的 jQuery 版本从 jquery 版本 1.7 更新到 3.6,因此,我遇到了“trim”方法的问题。我们使用了旧 jQuery 版本中的 trim 方法,但它在最新的 jQuery 3.6 中发生了变化,所以,我已经使用相应的 3.6 对其进行了修改,但仍然显示错误,因为'$.trim(...).val is not a function '
我的旧 jQuery 脚本(1.7):
我的新 jQuery 修剪方法是(3.6):
任何帮助将不胜感激,谢谢。