首先让我说我是一个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' );
}
但我觉得它没有用......我害怕这是我的头脑!我在这里有点绝望......
答案 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