代码之家  ›  专栏  ›  技术社区  ›  mmundiff

IE6 Joomla中的致命错误

  •  0
  • mmundiff  · 技术社区  · 16 年前

    我正在我的服务器上运行joomla的一个实例。当我在任何其他浏览器中加载站点时,页面加载良好,但是,当我使用IE6加载页面时,会出现以下错误。

    “Internet Explorer无法打开Internet站点 http://example.com ,操作已中止。

    弹出:“继续加载此页面?”我按“确定”。有时需要我到网站,有时需要我到404错误。

    除了主页外,其他页面上的错误似乎不一样。

    有什么办法可以弄清楚问题出在哪里吗?我很确定这与首页上加载的javascript有关,但是有很多模块,我不确定从哪里开始。

    在更高版本的IE 7/8中似乎没有javascript错误,在Firefox中没有javascript错误。在IE6中,尽管我不能有这个错误。 我使用的是Yootheme模板,但在IE 6中,当我在他们的网站上查看时,相同的主题似乎可以正常工作,因此这让我相信它是加载在第一页上的模块。

    有没有办法告诉我哪个模块与IE6不兼容?我使用Firebug,但使用它时找不到任何错误。然而,我仍然有一个更大的问题,这个网站将不会在IE6中显示,20%的IE用户仍然坚持使用2001年的浏览器。

    3 回复  |  直到 16 年前
        1
  •  1
  •   GreyHead    16 年前

    当extenson向主体中注入jawscript时,就可以得到这个结果。根据我的经验,这通常是一个与扩展相关的问题。

    首先通过将&tmpl=组件添加到显示错误的页面来检查模板。这应该在模板外显示内容;如果仍然出现错误,则是模板问题。如果它仍然出现,那么它是一个扩展,您需要找出哪一个。

    首先,尝试扫描页面源以查找“domready”-这是一个moootools事件,已知会导致此问题。您通常可以将事件替换为;加载以修复它。

    禁用所有内容模块,然后逐个重新启用它们,直到错误再次出现。

    祝你好运, 鲍勃

        2
  •  2
  •   bobince    16 年前

    当使用DOM方法将内容插入到尚未完全解析的元素中时,操作中止。当元素中还有新的内容时,它会混淆解析器,这是可以理解的。相对于由DOM内容添加的内容,它应该放在哪里?它如何与InnerHTML交互?没有一致的答案。

    <div id="x">
        ...
        <script type="text/javascript">
            document.getElementById('x').appendChild(document.createElement('p')); // fail
        </script>
        ...
    </div>
    

    通常,问题的要素是 <body> .不要试图在解析主体期间运行的代码中向主体附加内容。

    面对此错误,IE7和8的表现略有不同,但仍受到影响。

    Microsoft's explanation .

        3
  •  1
  •   E Wierda    16 年前

    根据我的经验,当您使用jquery javascript库的扩展构建Joomla网站时,这些错误很常见。许多扩展开发人员忘记了避免jquery使用与moootools相同的初始变量,这将导致ie抛出操作中止的错误消息。解决方案是通过google获取jquery noconflict设置,并使用jquery将其插入到任何扩展的代码中。这听起来很复杂,但尽管我现在记不清细节,但事后你会发现这很容易。