JavaScript未加载。尝试了我能想到的一切

时间:2010-01-26 18:25:24

标签: php javascript css xhtml joomla

由于我在其社交模块JomSocial上安装了更新,因此

Swimwire.com不再正确加载JavaScript。这与JomSocial有关,我敢肯定,因为在主页上没有JavaScript正常工作(顶部有一个蓝色条,应该是可点击的,包含“打开控制面板”字样,但不加载)。然而,如果我访问不显示JomSocial内容的页面,JavaScript将很乐意加载。

我昨天得到了一些帮助,但不幸的是我仍然非常困难。我是JavaScript的新手,Safari会把错误抛给我

  

TypeError:表达式'$'的结果   [undefined]不是函数。   /modules/mod_rokslideshow/tmpl/slideshow.js:73TypeError:   表达式'$'的结果[undefined]   不是一个功能。   2 /媒体/系统/ JS / mootools.js:54TypeError:   输入错误

我根本不太清楚如何解释这一点。我确信JomSocial中的某些内容会导致冲突,但实际上并不知道如何解决这个问题。

杰克

3 个答案:

答案 0 :(得分:2)

有多个库定义$;我知道jQuery和Prototype这样做,不确定MooTools(我在你的错误消息中看到)。因此,基于该消息,我只能猜测您以某种方式加载了两个使用$的库。

jQuery解决方案是使用noConflict:http://docs.jquery.com/Core/jQuery.noConflict。不知道冲突的双方,也无法自己访问网站,这是我能做的最好的。


编辑:您是否尝试过MooTools建议的任何解决方案? http://mootools.net/blog/2009/06/22/the-dollar-safe-mode/

答案 1 :(得分:1)

您的jQuery.noConflict()很可能是在加载了其他一些脚本并尝试使用$之后发生的。

另一件事...... jQuery.noConflict()可能无效,如果它包含在其他库之前,就像在这种情况下一样。

答案 2 :(得分:0)

你必须确保即使你没有冲突模式的jQuery,你也有MooTools加载第一个。如果加载jQuery,将其置于无冲突模式,然后加载MooTools,它将失败。我在书中写了一些文档:http://www.packtpub.com/files/learning-joomla-1-5-extension-development-sample-chapter-8-using-javascript-effects.pdf

如果确保在将jQuery添加到文档之前进行了以下调用,它应该在jQuery之前加载MooTools:

JHTML::_('behavior.mootools');