为3.3禁用Mootools?


10

我需要将Joomla 2.5站点升级到3.x

该网站使用了“禁用Mootools”插件

来自此开发者union-d.ru/

是否有人在3.3上成功使用了此插件,或者知道与3.3具有类似功能的插件?谢谢-开发人员没有回答我的问题...

是否有人在3.x网站上成功使用此插件?还是知道在3.x上可用的另一个类似插件?谢谢!

Answers:


6

该工具会在必要时禁用Mootools,并与Joomla 3兼容:http : //extensions.joomla.org/extensions/core-enhancements/performance/mootools/22236

在Joomla 3.0中,不赞成使用MooTools,而jQuery是默认的javascript框架。为了添加MooTools Core库,您需要添加:

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

因此,是否加载Mootools取决于您的模板/扩展名。

在Google Chrome开发者控制台(可能还有Firefox的Firebug中)中,您可以检查是否通过以下JavaScript代码启用了MooTools:

window.MooTools ? alert ("MooTools loaded") : alert("MooTools NOT loaded");

几年过去了,但是答案仍然有效,并且适用于Joomla 3.8。*
BastianW

2

该插件专门用于Joomla 2.5,因此在Joomla 3.x上使用时可能会有些弃用的代码。我个人建议使用jQuery Easy,这是一个享有盛誉的插件。它的主要功能是在您的网站上导入jQuery,并确保仅在脚本列表顶部将其加载一次,并且还具有在可能的情况下禁用MooTools的功能。



0

如果你正在开发一个插件和onAfterRender事件工作,请尝试使用情况onBeforeCompileHead,如下图所示。

public function onBeforeCompileHead() {
    if ($this->app instanceof JApplicationSite) {
        $doc = JFactory::getDocument();
        $search     = array(
            'jui/js/bootstrap.min.js',
            'mootools-core.js',
            'mootools-more.js',
        );
        foreach ($doc->_scripts as $key => $script) {
            foreach ($search as $findme) {
                if (stristr($key, $findme) !== false) {
                    unset($doc->_scripts[$key]);
                }
            }
        }
    }
}
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.