Joomla中的IE6致命错误

时间:2009-12-04 15:44:26

标签: internet-explorer-6 joomla

我在我的服务器上运行Joomla的一个实例。当我在任何其他浏览器中加载网站页面加载正常,但是,当我用IE6加载页面时,我得到以下错误。

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

弹出窗口:“继续加载此页?”我按OK。有时它会带我到网站,有时它会让我遇到404错误。

我在主页以外的其他页面上似乎没有相同的错误。

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

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

有没有办法告诉哪个模块与IE6不兼容?我使用Firebug,但我发现使用它没有任何错误。但是,我仍有一个很大的问题,即该网站不会在IE6中显示,并且20%的IE用户仍然坚持使用2001浏览器。

3 个答案:

答案 0 :(得分:2)

当您使用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

答案 1 :(得分:1)

根据我的经验,当您使用使用JQuery JavaScript库的扩展构建Joomla网站时,会发生这些错误是很常见的。许多扩展开发人员忘记避免JQuery将使用与MooTools相同的初始变量,这将导致IE抛出操作中止错误消息。解决方案是谷歌的JQuery noconflict设置,并使用JQuery将其插入到任何扩展的代码中。这听起来很复杂,但是虽然我现在不记得细节,但事后你会发现它很容易。事后看来。

答案 2 :(得分:1)

当一个extenson将JavScript注入到正文中时,你可以得到这个。在我的经历中,它通常是与扩展相关的问题。

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

首先,尝试扫描“domready”的页面源代码 - 这是一个已知导致此问题的MooTools事件。您通常可以使用; load'替换事件来修复它。

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

祝你好运, 鲍勃