如何在客户端站点上处理过时的jQuery版本?

时间:2010-07-19 10:40:09

标签: jquery

当我的工作依赖于1.4的改进功能时,我已经遇到运行1.3代码的客户端。

然而,这些客户没有资源更新旧代码......

示例:客户端在其网站的模板中引用了jQuery 1.3,但我真的宁愿使用1.4代码而不必尝试使用旧版本。

有关如何处理此问题的任何想法?

编辑:理想的解决方案完全是JS ......没有服务器端代码,因为客户端更喜欢它。

3 个答案:

答案 0 :(得分:4)

尝试并让客户意识到所需的“资源”通常非常轻。转换为新版本通常是一个非常快速的过程,除非他们之前有许多错误的代码,但不正确。

让他们看看release notes for 1.4,就此而言1.4.11.4.2,升级的好处超过了所需的时间在每种情况下我都会遇到升级。唯一需要注意的是1.4升级,增加了JSON严格性。来自1.4 release notes

  

jQuery 1.3及更早版本使用JavaScript的eval来评估传入的JSON。 jQuery 1.4使用本机JSON解析器(如果可用)。它还验证传入的JSON的有效性,因此,jQuery.getJSON中的jQuery以及将“json”指定为Ajax请求的dataType时,将拒绝格式错误的JSON(例如{foo: "bar"})。

这意味着JSON操作很多更快,但旧的/无效的JSON不会削减它。如果他们必须修复Web服务,因为JSON必须在1.4+中绝对有效,这可能是一个大型项目升级的显示器......我不知道该告诉你什么之一。

至于插件......每个主流/热门插件都能非常快速地支持新版本,如果不是,它们很快就可以自行修复......而且许多根本不需要任何编辑,因为它们不是被升级打破(仍然,检查插件的新版本,他们可能会从新版本的核心获得性能提升)。

答案 1 :(得分:2)

如果您在询问是否可以同时将两个版本的jQuery嵌入到同一个文档中,答案是

你的客户必须升级,这应该相对容易 - 如果他们很幸运,没有任何工作:请参阅@ Nick的优秀概述。

或者,如果你需要在某些页面上使用jQuery 1.4,在其他页面上使用1.3,那么你当然可以设置一些服务器端的恶作剧来提供正确的版本。 (甚至可能使用JavaScript。)但要做到这一点,你必须向我们提供有关设置的更多信息。

答案 2 :(得分:0)

我不确定我理解你的问题。你有一个使用JQuery的网站吗?当然,如果您将JQuery javascript文件放在Web应用程序的一个文件夹中并在脚本标记中引用它们,那么用户的浏览器将下载新的库。

你能解释一下你说的意思吗

  

客户端没有资源   更新他们的旧代码。