2

我们有一些代码被拉入并在许多网站上使用。我对目标网站没有控制权。

我们一直在使用 JQuery.noconflict() 来阻止我们的代码影响网站,但我们有一个目标已经在使用 JQuery,我不知道如何解决这个问题......

基本上,当我们的代码被拉入那里的一些 Jquery 功能时,站点中断。

这是我们造成问题的 Jquery 的片段。

jQuery(function(){
jQuery('#superfish-4').supersubs({minWidth: 12, maxWidth: 27, extraWidth: 1}).superfish({
animation: {opacity:'show'},
speed: 'fast',
autoArrows: false,
dropShadows: true}).supposition().find('ul').bgIframe({opacity:false});
});

当包含我们的代码时,我们会收到以下错误:

未捕获的类型错误:对象 [object Object] 没有方法“supersubs”

以下是我们的 Jquery 的一些示例。

<script src="jquery-latest.min.js" type="text/javascript"></script> 
<script>jQuery.noConflict(); 
jQuery(document).ready(function() { 
jQuery('head').append('<link rel="stylesheet" href="cssfilehere" type="text/css" />'); 
jQuery.get('htmlfilehere', function(data) { jQuery('div.fdmediabar-65144924').html(data); }); }); 
</script> <div id="idhere" class="classhere"></div>

我去掉了类名和 URL,因为这是一个客户项目。

我不确定如何以不同的方式引用 JQuery 对象?

4

1 回答 1

1

如果您致电.noConflict(true)文档):

如果由于某种原因加载了两个版本的 jQuery(不推荐),从第二个版本调用 $.noConflict(true) 会将全局范围的 jQuery 变量返回到第一个版本的变量。

然后,您可以覆盖jQuery为先前加载的版本。

您必须保留自己对 jQuery 的引用并使用它。有关更多讨论,请参阅此内容。

于 2013-03-26T14:35:35.520 回答