Yootheme Widgetkit和Fatica Locator jQuery冲突

时间:2013-06-19 12:22:30

标签: jquery joomla

首先让我说我是一个jquery n00b。 :(

我的网站上有这个问题,到目前为止还没有解决方法。我有一个Joomla网站,一个Yootheme模板和一个Fatica定位器组件。

我买了两个,但似乎有一个jquery冲突(这就是两个支持团队所说的),但我没有线索...所以我去寻找一个jquery论坛,有更多的知识的人这就是我自己。

这是我正在谈论的页面:http://www.ellenvandrunen.com/santos/dealers

第一次它可能会完美加载,但第二次定位器地图保持为空。

所以我咨询了Fatica定位器,这是他们的回应:

  

这看起来像某种jQuery冲突/计时问题。对于一些   原因是,缓存已经

后,页面加载触发器没有触发      

已建立,所以它第一次工作,但是当页面加载时   更快,初始化不会被调用,或者在页面之前被调用   元素存在。

     

称为“Widgetkit”的东西会抛出错误,可能会停止   页面执行,意味着我们的启动代码可能永远不会有机会   在该插件或库错误之后运行。

之后我咨询了Yootheme(Widgetkit所有者),这是他们的回应:

  

该扩展正在加载jQuery库的另一个实例,   导致冲突,

     

http://www.ellenvandrunen.com/santos/components/com_locator/assets/jquery.min.js   看看它的设置。它是否有禁用它的选项   加载?

在locator组件中,我找到了一个关闭'使用jQuery for front-end Ajax yes / no'的选项 我切换到否,但没有改善...

此时它保持安静,我真的想解决这个问题。

我不知道您需要哪些信息来解决这个问题,所以请告诉我。我希望有一个解决方案......

在定位器中我发现了这个:

$doc->addScript( JURI::base() . 'components/com_locator/assets/jquery.min.js' );
         $doc->addScript(  JURI::base() . 'components/com_locator/assets/jquery.noconflict.js' );

也许这可以帮助......

系统检查提供以下信息:

找到多个jQuery库。请确保它们不会相互冲突。

/components/com_comprofiler/js/jquery-1.5.2/jquery-1.5.2.js
/components/com_comprofiler/js/jquery-1.5.2/jquery-1.5.2.min.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.ajaxfileupload.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.ajaxfileupload.min.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.autogrow.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.autogrow.min.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.cluetip.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.cluetip.min.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.colorinput.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.colorinput.min.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.excanvas.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.excanvas.min.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.flot.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.flot.min.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.flydom.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.flydom.min.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.form.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.form.min.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.jeditable.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.jeditable.min.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.jmap.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.jmap.min.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.maskedinput.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.maskedinput.min.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.metadata.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.metadata.min.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.rating.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.rating.min.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.slimbox2.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.slimbox2.min.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.ui-all.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.ui-all.min.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.validate.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.validate.min.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.wysiwyg.js
/components/com_comprofiler/js/jquery-1.5.2/jquery.wysiwyg.min.js
/components/com_jce/editor/libraries/jquery/js/jquery-1.9.0.min.js
/components/com_jce/editor/libraries/jquery/js/jquery-ui-1.10.0.custom.min.js
/components/com_jce/editor/libraries/jquery/js/jquery.ui.touch-punch.min.js
/components/com_locator/assets/jquery.min.js
/components/com_locator/assets/jquery.noconflict.js

编辑:

感谢Lodder付出努力:

我在view.html.php中更改了这个,我相信调用了jquery。

/* $doc->addScript( JURI::base() . 'components/com_locator/assets/jquery.min.js' ); */
         /* $doc->addScript(  JURI::base() . 'components/com_locator/assets/jquery.noconflict.js' );*/

         if(!JFactory::getApplication()->get('jquery')){
     JFactory::getApplication()->set('jquery',true);
     $doc->addScript( JURI::root() . 'components/com_locator/assets/jquery.min.js' );
}

但我觉得它没有用......我害怕这是我的头脑!我在这里有点绝望......

1 个答案:

答案 0 :(得分:0)

这可能是由于导入了2个jQuery库。

在Fatica Locator组件中,他们导入jQuery,将其替换为以下代码:

if(!JFactory::getApplication()->get('jquery')){
     JFactory::getApplication()->set('jquery',true);
     $doc->addScript( JURI::root() . 'components/com_locator/assets/jquery.min.js' );
}

这基本上会检查jQuery是否已被导入。如果没有,它会导入它。

希望这有帮助

另外,即使Yootheme Warp脚本正在检测所有这些jquery文件,它并不总是重要的,因为所有脚本都检测到其中包含名称为 jquery 的文件as jquery.rating.min.js