【问题标题】:Joomla menu item type iframe-wrapper doesn't load javascriptJoomla 菜单项类型 iframe-wrapper 不加载 javascript
【发布时间】:2014-02-05 15:00:31
【问题描述】:

我正在为使用菜单项类型 iframe-wrapper 显示外部内容的现有网站从头开始构建新模板。

我的模板使用了一些 jQuery,它在我目前检查过的所有页面上都能正常工作,除了那些使用 iframe-wrapper 的页面。在这些页面上,joomla 似乎没有包含它通常包含的任何 js(jQuery、mootools、joomla 的东西)。因为我需要 jQuery,所以我的脚本会中断。

我可以通过将 jQuery 硬编码到模板中来解决这个问题。即使忽略所有最有可能导致它的问题,也只能解决我的部分问题。我使用一个模块来包含一些内联 js 来初始化倒计时,以便可以从后端配置结束日期。该脚本也不包括在内,事实上整个模块在前端(或至少它的容器)中丢失。

我是 joomla 的新手,所以这对我来说可能是一个明显的错误,但是我如何让 joomla 包含它在不显示 iframe-wrapper 时通常会执行的 js?

【问题讨论】:

    标签: javascript joomla joomla3.2


    【解决方案1】:

    终于搞定了:

    JHtml::_('jquery.framework');
    

    添加到模板中的这一行确保包含 Joomla 附带的 jQuery 版本并且只加载一次。

    我仍然不知道为什么 jQuery 只是从一种特定的页面类型中丢失,而不是全部或没有,但它现在可以工作了。

    【讨论】:

      【解决方案2】:

      如果 iFrame 不是 Joomla 网站的一部分,也不是 Joomla 环境的一部分(99.99% 的情况是这种情况),您将需要手动重新添加 JS 文件。没有其他方法可以做到这一点。

      【讨论】:

      • JS应该加载到常规页面中,iframe本身可以正常工作。
      • 一些 JavaScript 库是通过模块添加到 Joomla 的 - 例如分配给主页的模块是否分配给那个 iframe?您是否还使用 iFrame 包装器来包含 iFrame(顺便说一句,这是您应该做的)。
      • 啊谢谢这解决了一个问题。我正在检查的 iFrame 确实排除了初始化倒计时的模块。该脚本仍然没有运行,因为 Joomla 仍然不包含它通常使用 <jdoc:include type="head" /> 的任何 JS 库
      • 你在使用 iFrame 包装器吗?
      • 我这么认为?我的主菜单有一个名为 Marathon 的菜单项,类型为 wrapper >> iFrame wrapper。在那里我输入了 iFrame 的目标 URL。这会在内容区域中创建一个带有 iFrame 的页面。
      猜你喜欢
      • 2015-10-03
      • 1970-01-01
      • 2011-03-06
      • 2015-08-07
      • 1970-01-01
      • 1970-01-01
      • 2012-01-02
      • 2012-01-30
      • 2013-01-21
      相关资源
      最近更新 更多