0

我有各种网页,其中包含不同版本的 jQuery,从 1.4.2 向上(是的,我知道,这是一团糟)。我想在这些页面上使用 jQuery 验证插件,但它需要 jQuery 1.6.4+。

我知道我可以检查加载的 jQuery 版本,然后在必要时加载新版本,但我不确定如何单独引用它们,因此网站上预先存在的 JavaScript/jQuery 代码仍然可以使用 $(因为我知道这很愉快,我不想破坏它)然后新插件可以使用其他东西吗?

任何有关更好方法的帮助或建议将不胜感激。谢谢。

4

2 回答 2

2

做你正在做的事情是个坏主意。

如果你真的坚持拥有不同的 jquery 版本,你总是可以编写某种脚本管理器。基本上,您在页面的“配置”中指定此页面需要哪些 jquery 版本,管理器将加载适当的版本。

就像是:

// each page content before everything else
Manager.reguire("plugin 1", "1.4.7");
Manager.require("plugin 2", "1.4.4");


// Main layout <head section>
Manager.LoadRequiredVersions();

经理只会为您请求文件,但不要忘记,如果您想要在单个页面上使用多个文件,您可能必须使用 jQuery 做一些巧妙的无冲突的事情。https://stackoverflow.com/a/1566644/486780

如果它是每页一个版本,那么管理器将是最简单的选择。

于 2013-07-11T15:50:56.977 回答
1
  • 原始版本的 jquery 加载(版本 1)
    • $ 和 jQuery 属于 version1
  • jQuery 加载的第二个版本(Verion2)
    • 现在 $ 和 jQuery 属于 Version2,而 _$ 和 _jQuery 属于 Version1
  • 将 Version2 版本分配给 var ($v2 = jQuery.noConflict(true);)
    • 现在 $ 和 jQuery 属于 Version1,_$ 和 _jQuery 可能为 null,$v2 是 Version2
于 2013-07-11T16:13:41.850 回答