【问题标题】:jQuery plugin in Joomla 3.2 module doesn't load/workJoomla 3.2 模块中的 jQuery 插件无法加载/工作
【发布时间】:2014-05-09 22:54:42
【问题描述】:

我的 Joomla 页面上的一段 JavaScript 出现问题。请多多包涵,因为我远非专家。

我正在使用常规(因此不是实际的 Joomla 插件)插件来展示我的作品集。它应该是这样工作的:http://portfolio.heshley.nl/templates/j ... black.html

这是它不应该工作的方式:http://portfolio.heshley.nl/

所以,我做了很多尝试。

  • 我添加了 JavaScript 库并将其放在头顶
  • 我把代码放在一个模块里,每$都改成jQuery
  • 我把代码放在我的 index.php 中,还把每个 $ 都改成了 jQuery
  • 在我的 index.php 中使用 PHP 在模块中加载外部 colio 文件索引
  • 禁用的mootools删除了双重加载的脚本
  • 我回到了 colio 插件使用的 jQuery 1.10.2
  • 将所有链接更改为绝对链接
  • 我在谷歌搜索时发现了大量可选解决方案,我尝试了每一个 其中之一。不过大部分我都不记得了。

我真的迷路了,插件的开发人员也没有找到解决方案。可能是因为他不是真的喜欢 Joomla。

有人知道我能做什么吗?正如我上面提到的,我不是专家,但我知道基础知识。所以如果你有一步一步的解决方案,那就太棒了!

【问题讨论】:

    标签: javascript php jquery html joomla


    【解决方案1】:

    您的第一个链接不起作用,所以我真的不知道第二个链接是什么不起作用。但是:如果您查看 html 源代码,您将加载 jquery 两次,一次在顶部(可能在 jsn_yoyo_pro - 模板的 index.php 文件中),一次在更下方(可能由 Joomla 在某处加载?)。尝试将 index.php 中的包含移动到

    下方
    <jdoc:include type="head" /> 
    

    标签,因此 Joomlas 包含将首先出现。然后删除加载相同库的包含。

    另外,我看到 jquery 和 mootools 都在加载,所以我怀疑 jquery 是否处于无冲突模式。这意味着所有的 jquery 调用必须使用:

    jQuery( ... )
    

    而不是

    $( ... )
    

    (注意 jQuery() 的情况)。所以将所有对 $( 的引用替换为 jQuery(

    问候乔纳斯

    【讨论】:

    • 嗨!感谢您的回复。第一个链接确实不起作用,但它现在起作用了。但是关于 jquery 的事情是,首先显示的是包含头 mootools,但我总是了解到 jquery 必须位于最上面才能使插件工作。据我所知,我无法更改包含头。那么删除包含头并手动放入所有脚本可能会更好吗?还是需要一个包含头才能工作?至于#(..),我发现我必须将所有$(..) 替换为jQuery(..),但不知道#(..)。我会试试的。感谢您的帮助!
    • 嗨,对不起,我的意思是替换 $(),就像你做的那样。
    猜你喜欢
    • 2019-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-16
    • 2016-01-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多