7

我无法找出问题所在,以及为什么我在 Internet Explorer 8 中不断收到此错误,因为这是我收到的唯一错误。关于它的含义或简单的解决方案有什么想法吗?不过,我没有注意到我的代码有任何问题,这只是让我烦恼的消息。

网页错误详情。

用户代理:Mozilla/4.0(兼容;MSIE 8.0;Windows NT 5.1;Trident/4.0;.NET CLR 2.0.50727;.NET CLR 3.0.4506.2152;.NET CLR 3.5.30729)时间戳:2009 年 9 月 7 日星期一 19:世界标准时间 11:13

Message: HTML Parsing Error: Unable to modify the parent container element before the child element is closed (KB927917)
Line: 0
Char: 0
Code: 0
4

3 回答 3

7

答案就在错误中 - KB927917说:

出现此问题的原因是子容器 HTML 元素包含试图修改子容器的父容器元素的脚本。该脚本尝试通过使用 innerHTML 方法或 appendChild 方法来修改父容器元素。

例如,如果 DIV 元素是 BODY 元素中的子容器,并且 DIV 元素中的 SCRIPT 块尝试修改作为 DIV 元素的父容器的 BODY 元素,则可能会出现此问题。

于 2009-09-07T19:26:26.607 回答
3

您收到的错误消息指示“KB927917”。这是对 Microsoft 知识库中的条目的引用。

更具体地说:为什么我在 Internet Explorer 中访问网页时会收到“操作中止”错误消息?

在该页面上,有面向最终用户和开发人员的信息;这些可能会帮助您了解导致此问题的原因。
这部分看起来很有趣(引用):

出现此问题的原因是子容器 HTML 元素包含试图修改子容器的父容器元素的脚本。该脚本尝试通过使用 innerHTML 方法或 appendChild 方法来修改父容器元素。

例如,如果 DIV 元素是 BODY 元素中的子容器,并且 DIV 元素中的 SCRIPT 块尝试修改作为 DIV 元素的父容器的 BODY 元素,则可能会出现此问题。


此博客条目还有一个链接:操作中止发生了什么?

在那个条目上,正是您收到的消息(这似乎是 IE8 处理该问题的方式——旧版本只是显示某种警报框和空白页);所以,你也可以;-)

于 2009-09-07T19:27:38.230 回答
1

此解决方法工作正常:

setTimeout( function() {
    "scary DOM manipulations"
}, 0 );
于 2010-09-02T07:43:36.510 回答