加载插件时jQuery碰撞的不同版本

时间:2014-12-03 20:27:27

标签: javascript jquery

我在我的应用程序中使用jQuery。我也有一个使用旧版jQuery的公司的标题。在我的应用程序中,我调用fancybox但有时公司的jQuery首先被加载,并且没有fancybox的定义。这导致页面崩溃,因为在他们的jQuery版本上找不到fancybox。我怎么解决这个问题?

如果我多次刷新页面,有时页面会正常工作,表明我的jQuery版本是先加载的。这是一个典型的竞争条件问题。

更新:

不幸的是,我无法控制第三方公司在页面上显示页眉和页脚时所执行的操作。我也无法回到他们的版本,因为我有很多依赖于我使用的版本的插件。 (我使用的是最新版本的jQuery,他们使用的是旧版本的jQuery)

1 个答案:

答案 0 :(得分:1)

在您的脚本加载之后,在他们的脚本加载之前,添加如下内容:

<script>
    var jQuery_1_9_1 = $.noConflict(true);
</script>

这改变了&#39; $&#39;变量为&jQuery_1_9_1&#39;,并打开&#39; $&#39;对于下一个加载的jQuery版本(无论你喜欢什么,都可以使jQuery_1_9_1位。)

以下是文档: jQuery.noConflict()