登录 注册

登录

问题 [已解决]怎么才能让前台不调用mootools.js后台调用mootools.js

更多
2008年08月17日 08:45 - 2008年08月17日 09:16 #1 作者: jiangabc
请问各位达人:
joomla!1.5.4 怎么才能让前台不调用mootools.js后台调用mootools.js
我现在的网站前面源代码里有这句:
<script type="text/javascript" src="/media/system/js/mootools.js"></script>
这是没有必要调用的.有没有都是一样的效果.
后面也有这一句.对后台来说是实现菜单栏自动弹出的效果.
我不想让前台调用,而后台调用.
应该怎么做呢.谢谢.

登录 或者   注册一个会员帐号 来参与讨论

更多
2008年08月17日 09:15 #2 作者: jiangabc
网上查了下.解决了.不好意思

登录 或者   注册一个会员帐号 来参与讨论

更多
2008年08月17日 13:19 #3 作者: Joomla之门
能否把解决方法贴出来分享一下?谢谢!

付费下载 Joomla 3 扩展汉化版: 我要付费支持 Joomla 之门!

登录 或者   注册一个会员帐号 来参与讨论

更多
2008年08月17日 16:56 #4 作者: yooyooh
i think you may delete directly in source file

Every man dies, Not every man really lives.

登录 或者   注册一个会员帐号 来参与讨论

更多
2008年08月17日 17:29 #5 作者: Joomla之门
可能没有这么简单。

Multithumb for Joomla! 1.5 的使用说明中,也提到 Joomla! 1.5 默认的给前台模板载入 mootools 程序的做法会妨碍 Lightbox 特效的工作。作者提出的解决办法是:

打开前台当前模板的 index.php 文件,在 head 标记之后, jdoc:include type="head" 之前,插入下列代码:
<?php
$user =& JFactory::getUser();
if ($user->get('guest') == 1) {
$headerstuff = $this->getHeadData();
$headerstuff['scripts'] = array();
$this->setHeadData($headerstuff); }
?>

付费下载 Joomla 3 扩展汉化版: 我要付费支持 Joomla 之门!

登录 或者   注册一个会员帐号 来参与讨论

更多
2009年06月13日 13:06 #6 作者: Joomla之门
今天为了撰写 Joomla 模板 SEO 的文章,又查找了这个话题的一些资料。最好用的在 Joomla 1.5 前台屏蔽 Mootools 的办法是:

打开网站前台当前模板的 index.php 文件,找到如下代码:
<head>

在其后面插入下列代码:
<?php
// Remove mootool sripts for guest and registered
$user =& JFactory::getUser();
if ($user->get('guest') == 1 or $user->usertype == 'Registered') {
    $headerstuff = $this->getHeadData();
    $headerstuff['scripts'] = array();
    $this->setHeadData($headerstuff);
}
?>

这段代码不仅屏蔽了 Mootools.js ,连 caption.js 也屏蔽了。

付费下载 Joomla 3 扩展汉化版: 我要付费支持 Joomla 之门!

登录 或者   注册一个会员帐号 来参与讨论

更多
2009年06月14日 23:59 - 2009年06月15日 08:37 #7 作者: 胡明春
的确可以屏蔽 Mootools.js 和 caption.js,但如果前台有使用类似 Phoca Gallery 这样的图库程序,会导致 Phoca Gallery 的图片特效出错。
最后修改: 2009年06月15日 08:37 由 .

登录 或者   注册一个会员帐号 来参与讨论

更多
2009年06月15日 08:42 #8 作者: Joomla之门
没错,这个方法会让前台页面不加载 Mootools.js 库,主要是针对那些不需要这个库的网站。如果某个扩展例如 Phoca Gallery 需要 Mootools.js 来实现某些 AJAX 特效,就不能使用这个代码。

其实,最合理的方案应该是:在除了需要 Mootools.js 的页面之外的其它页面上,不要加载这个库,只给需要它的页面加载。不过,这恐怕需要 Joomla 核心代码的一些改变。

付费下载 Joomla 3 扩展汉化版: 我要付费支持 Joomla 之门!

登录 或者   注册一个会员帐号 来参与讨论

更多
2010年08月19日 11:19 #9 作者: emanese
谢谢白大侠,希望您能带领大家壮大JOOMLA中国分部

登录 或者   注册一个会员帐号 来参与讨论

更多
2010年08月19日 11:27 #10 作者: Joomla之门

谢谢白大侠,希望您能带领大家壮大JOOMLA中国分部


呵呵,这个任务太艰巨了,我只是一个挣扎在温饱线上的普通人,不敢奢望有此贡献。

我尽力做好我能做到的工作吧。谢谢你的支持!

付费下载 Joomla 3 扩展汉化版: 我要付费支持 Joomla 之门!

登录 或者   注册一个会员帐号 来参与讨论

更多
2012年08月08日 03:11 #11 作者: Paula
改良白大侠版,提供參考
<?php
// Remove mootool sripts for guest and registered
$user =& JFactory::getUser();
if ($user->get('guest') == 1 or $user->usertype == 'Registered') {
$headerstuff = $this->getHeadData();
unset($headerstuff);
$this->setHeadData($headerstuff);
}
?>

登录 或者   注册一个会员帐号 来参与讨论

更多
2012年08月08日 03:35 #12 作者: Joomla之门
Joomla 发展到现在,这个4年前提出的问题已经不需要通过修改源代码来解决了。安装一个 jQuery Easy 插件 就能完美解决。

jQuery Easy 插件除了可以彻底禁用 Mootools 的加载,还能允许用户选择在某几个页面上保留 Mootools 而同时在其它页面上不加载。可以说非常圆满地解决了这个问题。

付费下载 Joomla 3 扩展汉化版: 我要付费支持 Joomla 之门!
下列用户已致谢:: Paula

登录 或者   注册一个会员帐号 来参与讨论