如何解决joomla仅在需要的页面上加载mootools和/或jquery
|| 我有一个joomla 1.5网站,在这里我使用mootools(用于chronoforms)和一些自定义的jquery代码。 整个网站上总共只有2个页面,我需要使用mootools或jquery,但是这两个页面都加载在所有页面上。 如何让Joomla仅在需要的页面上加载脚本? 谢谢解决方法
您可以修改joomla代码:
去 :
图书馆/joomla/html/html/behaviour.php
搜索mootools的加载位置。
添加IF / ELSE:
例如:
$component = JRequest::getVar(\"option\");
//xmap does not support Mootools 1.2
if($component == \"com_xmap\") {
JHTML::script(\'jquery.js\',\'media/system/js/\',false);
}
, 我认为您可以通过在特定页面上使用这些脚本来打开和关闭jQuery
$ document =&JFactory :: getDocument();
$ document-> addScript(\'[jquery的路径] \');
$ noconflict = \'jQuery.noConflict(); \';
$ document-> addScriptDeclaration($ noconflict);
我不确定如何关闭Mootool。恐怕它总是附在系统上。希望对您有所帮助。
好的,本文http://magazine.joomla.org/issues/Issue-Feb-2011/item/349-removing-mootools显示了如何删除mootool
, 您可以在模板的index.php中使用以下代码:
$app =& JFactory::getApplication();
if ( $app->isSite() ) { // Make changes only on Front-end
$frontpage = ( isset($this->_metaTags[\'standard\'][\'title\']) && $this->_metaTags[\'standard\'][\'title\'] == \"Frontpage\")? true : false;
$com = JRequest::getVar(\"option\");
// When you need Mootools on frontpage only
if(!$frontpage) {
$prohibited = array (
\'/media/system/js/core.js\',\'/media/system/js/mootools-core.js\',\'/media/system/js/mootools-more.js\',\'/media/system/js/caption.js\'
);
}
// When you need jQuery,for example in \"com_xmap\" only
if( $com != \"com_xmap\") {
$prohibited = array (
\'http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js\',);
}
foreach ($this->_scripts as $key => $value) {
if( in_array($key,$prohibited ) ) {
unset($this->_scripts[$key]);
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。