遭遇IE8的KB927917错误

By
网络互联

刚刚换上win7感觉挺不错的,没办法我就喜欢华丽的。但是遇到的问题也是有的,首当其冲是Chrome速度很慢,经常打字就会卡住几秒钟,所以换了FF3.0,配合的还有IE8。但是切换到IE8问题就来了。基本状况是页面加载不完,左下角有个黄色感叹号~

KB927917.gif

错误的复制错误信息如下:

User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; GTB6; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; aff-kingsoft-ciba)
Timestamp: Tue, 7 Apr 2009 05:31:06 UTC

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

貌似在说HTML分析错误,在子元素关闭之前无法修改前父容器元素。

MSDN给出的解决办法:

官方给出的解决办法如下:(From MSDN)

1. Moving your script execution to a function that is invoked after parsing is complete (e.g., onload)

2. Adding the defer boolean attribute to the script block (this defers execution of the script content until parsing is complete)

3. Limiting your tree modifications to the script-element’s immediate parent

4. Moving the location of your script block to a child of the body (this usually solves most problems, while allowing the most flexibility in terms of scenarios).

出现这个问题的原因是JavaScript的解析IE是边读边执行的,所以如果脚本允许修改父元素,并且子元素又没关闭的话,会出现问题,逻辑有错。例如在 Windows官方帮助 中提到:

在此示例,深层嵌套的 TD 容器元素内的一个 SCRIPT 块会尝试通过 appendChild 方法中修改父容器 BODY 元素。

……

要解决此问题,请在 BODY 元素中移动 SCRIPT 块。

所以,虽然我没有什么经验,但是凭感觉应该是后来加上的旁边follow按钮的问题(JS写的),它在某个元素有加载完就关闭了,所以就试着把该段JS代码换个地方,或者往下移。

问题解决了。

0

Comments: 22

  1. 这个主题很帅么,有阴影呢。不过回复框在Chrome下不太兼容- –
    等下次重装系统或者换电脑的时候再换WIN7 吧

    2009年10月13日
  2. 我也要玩win7 不过先得更新电脑 得花钱啊 :arrow:

    2009年10月17日
  3. 居然搜到了同是WP博客的朋友, 先订阅再说 :razz:

    我的博客也遇到了这个问题, 据说IE6下还会找不到页面..我按照你的方法试试, 不行再说. 我的主题不支持IE6

    2009年10月21日
    • 你其实来过的……我记得你的青蛙~~

      2009年10月22日
    • @阿修 把Follow me的代码去掉就不会出现了, 我加到哪里都有, 最下面也会有, 所有我不用这个功能了.

      2009年10月23日
    • 这个好像是IE对JS的问题,说是父元素没关闭完就执行脚本的话会出这个错误,深入情况不是很了解

      2009年10月23日
  4. 請問一下版主:
    因為在使用Facebook時,常會出現這個問題
    很困擾,可是找了很多網頁都是有看沒有懂
    能不能Step by Step教喵 如何解決嗎?大大感恩
    Window XP/IE 8.0

    2011年09月04日

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*

:razz: