0

嗨,我有一个 joomla 网站,它在除 IE 之外的所有浏览器中都能完美运行。

www.creativeinfusion.com.au

当我在 IE 中查看它时,很多 CSS 似乎都无法识别。当我使用开发者工具查看 html 和 css 时,与其他浏览器相比有很多不同的代码。例如,有一堆额外的divID,称为slick-unique. 这些在其他浏览器中不可见。我想知道是否有为 IE 创建这些 ID 的插件。虽然我没找到

甚至 HTML 结构看起来也不同。在 IE中有divs调用rt-hidden,但在其他浏览器中没有。我有一个仅限 IE 的样式表,我一直在尝试覆盖或修复定位,但我没有做任何更改站点。

IE中的div也有这个代码

function(b,g){var h=Element.Constructors[b];if(h){return h(g);}if(typeof b!="string"){return document.id(b).set(g);}if(!g){g={};}if(!(/^[\w-]+$/).test(b)){var e=Slick.parse(b).expressions[0][0];

b=(e.tag=="*")?"div":e.tag;if(e.id&&g.id==null){g.id=e.id;}var d=e.attributes;if(d){for(var a,f=0,c=d.length;f<c;f++){a=d[f];if(g[a.key]!=null){continue;

}if(a.value!=null&&a.operator=="="){g[a.key]=a.value;}else{if(!a.value&&!a.operator){g[a.key]=true;}}}}if(e.classList&&g["class"]==null){g["class"]=e.classList.join(" ");

}}return document.newElement(b,g);}

有任何想法吗?

我已将其范围缩小到模板index.php中的这段代码:

<?php 
        $browser = $gantry->browser;

        $gantry->displayHead();
        $gantry->addStyles(array('template.css','joomla.css','overlays.css'));

        if ($gantry->get('fixedheader') && $gantry->get('menu-type') != 'splicemenu') $gantry->addScript('rt-fixedheader.js');

        if ($browser->platform != 'iphone')
            $gantry->addInlineScript('window.addEvent("domready", function(){ new SmoothScroll(); });');

//      if ($gantry->get('loadtransition') && isBrowserCapable()){
//          $gantry->addScript('load-transition.js');
//          $hidden = ' class="rt-hidden"';
//      } else {
//          $hidden = '';
//      }
    ?>

如果我删除该代码并刷新页面,则页面加载,显然没有 css。然后,如果我将上面的代码放回并刷新页面,页面工作正常,即使我刷新了这个页面。但是如果我尝试访问另一个页面,它会回到拥有所有额外的 div 和上面的函数代码,即使在转储缓存和刷新之后也是如此。所以似乎javascript发生了某种缓存。

还尝试关闭所有插件,但没有奏效。

4

2 回答 2

1

仔细检查您是否拥有最新版本的 Gantry,并且该模板适用于您正在使用的 Joomla 版本。

Rockettheme 会定期更新他们的模板以跟上 Joomla 的变化。

于 2012-10-10T08:42:26.217 回答
0

该主题似乎是Rockettheme 的商业模板“Modulus”,您最好尝试他们的支持论坛来解决此类问题。我们发现他们在查明问题原因方面反应迅速。

话虽如此,我们还发现如果编写不当,第 3 方模块通常会破坏 RocketTheme 的模板。我会尝试一一关闭所有非 RocketTheme 扩展,并在关闭每个扩展后在 IE 中检查该站点。通过这种方式,您可能能够找到冲突(如果存在)。

于 2012-10-10T02:01:41.350 回答