3.3 Mootools를 비활성화 하시겠습니까?


10

Joomla 2.5 사이트를 3.x로 업그레이드해야합니다

이 사이트는 "Disable Mootools"플러그인을 사용합니다

이 개발자 union-d.ru/에서

3.3 에서이 플러그인을 성공적으로 사용하거나 3.3과 비슷한 기능을 가진 플러그인을 알고 있습니까? 감사합니다. 개발자가 내 질문에 대답하지 않습니다 ...

3.x 사이트에서이 플러그인을 사용하는 사람이 있습니까? 아니면 3.x에서 작동하는 다른 유사한 플러그인을 알고 있습니까? 감사!

답변:


6

이 도구는 필요한 경우 Mootools를 비활성화하며 Joomla 3과 호환됩니다. http://extensions.joomla.org/extensions/core-enhancements/performance/mootools/22236

Joomla 3.0에서는 MooTools가 사용되지 않으며 jQuery가 기본 자바 스크립트 프레임 워크입니다. MooTools Core 라이브러리를 추가하려면 다음을 추가해야합니다.

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

따라서 Mootools의로드 여부에 따라 템플릿 / 확장에 따라 다릅니다.

Chrome 개발자 콘솔 (및 아마도 Firefox의 Firebug)에서이 작은 자바 스크립트 코드로 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]);
                }
            }
        }
    }
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.