【问题标题】:Can a web page handle two versions of jQuery?一个网页可以处理两个版本的 jQuery 吗?
【发布时间】:2012-05-28 06:31:48
【问题描述】:

我正在开发一个页面上加载了两个版本的 jQuery(版本 1.5.1 和 1.7.2)的项目。 1.5版本是jsTree的实现,1.7版本是jqGrid的最新版本。

我了解下载两个版本的 jQuery 对性能的影响以及名称冲突的可能性,但有没有人遇到过这样的情况,页面是否会因此而遇到固有的问题。

目前,该站点运行良好,我没有注意到页面上不同版本的 jQuery 可能导致的任何重大问题。但我不能快速删除一个或另一个版本,因为它似乎会导致一个或另一个控件(树或网格)崩溃。

我需要删除一个版本的 jQuery。我正在寻找有关页面上两个版本的 jQuery 会出现哪些潜在问题的建议,以及有关如何删除一个引用的建议。而且,如果有人认为同时拥有这两个版本就可以了,任何关于为什么我应该独自离开的想法。

提前致谢!

【问题讨论】:

  • 据我所知,在同一范围内,JS 会覆盖最新的副本。 Intead,如果没有机会让 jsTree 插件与最新的 jQuery 版本一起工作,我会通过重命名一个副本来寻找一种解决冲突的方法。
  • jsTree demo page上,作者已经在使用jQuery v1.6.1。他的插件完全有可能在最新版本的 jQuery 中完美运行。我的建议是将 jsTree 升级到最新版本,并且只使用 jQuery 1.7.2。

标签: jquery asp.net


【解决方案1】:

您绝对可以在一个网页上运行两个版本的 jQuery。唯一的缺点是额外的 http 请求。

但是,让 1.5 代码在 1.7 中运行并不是很困难。摆脱 1.5 并确保 1.7 高于所有需要 jquery 的插件,看看有什么问题。在此处或在 jQuery 论坛中发帖,以获得解决这些小问题的支持。

由于 1.6 中的更改,您最有可能必须做出的更改是将一些 .attr() 调用更改为 .prop()

编辑: 遵循 Robert Harvey 的建议并将 jsTree 升级到最新版本也是明智之举。

【讨论】:

【解决方案2】:

除了拥有多个库的开销之外,我不知道您会遇到什么重大问题。如果您确实遇到问题,jQuery.noConflict() 可能会帮助您解决它

此 SO 线程处理您的主题。 How do I run different versions of jQuery on the same page?

【讨论】:

    【解决方案3】:

    是的,它可以处理两个版本的 jquery .....在第二个版本中,将变量声明为 $.noConflict(true)。并使用声明的变量代替 jquery 代码中使用的 $ 。 请检查以下代码: 这段代码是在声明第二个版本的jquery之后使用的:

    <script type="text/javascript">
    

    var jQuery_1_9_1 = $.noConflict(true); 函数 pageLoad(sender, args) {

            var $ddl = jQuery_1_9_1("select[name$=drpClassCode]");
            var $ddl1 = jQuery_1_9_1("select[name$=drpSubContractors]");
            $ddl.select2();
            $ddl1.select2();
    
            $ddl.bind("change keyup", function () {
                $ddl.fadeIn("slow");
    
    
            });
    
            $ddl.bind("change keyup", function () {
                $ddl1.fadeIn("slow");
    
    
            });
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-15
      • 2010-12-06
      • 2015-07-20
      • 1970-01-01
      • 1970-01-01
      • 2011-06-01
      相关资源
      最近更新 更多