2009-12-04 58 views
0

我在我的服务器上运行Joomla的一个实例。当我在任何其他浏览器加载站点的页面加载罚款,但是,当我加载页面与IE6我得到以下错误。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浏览器。

+0

“是有一些方法可以让我想不通的问题是什么?”很可能,但是我们绝对没有办法**没有链接就搞清楚了...... – ceejayoz 2009-12-04 15:48:35

+0

IE6,那是什么?为什么你想在IE6中使现代网站工作?这就像试图在福特1929 A型车上使用最新的法拉利发动机一样。 10%的使用率,迅速下降。 – markus 2009-12-04 15:57:55

回答

1

当extenson将JavScript注入到body中时,可以获得此信息。在我看来,这通常是一个扩展相关的问题。

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

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

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

祝你好运, 鲍勃

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

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