我在我的应用程序中使用jQuery。我也有一个使用旧版jQuery的公司的标题。在我的应用程序中,我调用fancybox但有时公司的jQuery首先被加载,并且没有fancybox的定义。这导致页面崩溃,因为在他们的jQuery版本上找不到fancybox。我怎么解决这个问题?
如果我多次刷新页面,有时页面会正常工作,表明我的jQuery版本是先加载的。这是一个典型的竞争条件问题。
更新:
不幸的是,我无法控制第三方公司在页面上显示页眉和页脚时所执行的操作。我也无法回到他们的版本,因为我有很多依赖于我使用的版本的插件。 (我使用的是最新版本的jQuery,他们使用的是旧版本的jQuery)
答案 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()