注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

钱五哥の163空间

记录俺的生活和工作历程

 
 
 

日志

 
 
关于我

从事网络通信软件和开发管理开发多年,了解各类软件系统的架构、设计、开发和测试以及相应的开发方法。工作之余,喜欢研究一些自己感兴趣的事情,包括写写小程序、做做木工、看看连续剧、读读军事杂志、养鱼种花等等

网易考拉推荐

IE8问题:HTML Parsing Error: Unable to modify the parent container element before the child element is closed(KB927917)  

2014-05-17 15:42:01|  分类: IT技术 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

院内一个管理网站在IE8下报错,无法打开网页,查询才知道可能是网页脚本的问题:情况1是HTML标签没有闭合;情况2是JS代码位置不对。这个问题在IE10不出现。我使用了VPN访问院内网站,网速较低,我怀疑可能是网页没有加载完成,但是脚本已经被加载,出现运行错误,归结到情况2

?

=====原始结果来自:http://www.cnblogs.com/acker/archive/2011/07/27/2117927.html

一、

又涨见识了
IE8报下面错误,而且是我的机器不报,同事的机器报,试了4台,两个报,两个不报,IE版本都一样,没想明白
解决:

1、查看是否有未关闭的html标签,比如<table>而没有</table> (我就是这个原因)
2、是否在页面未加载完前js代码操作了body里的元素,将相关js代码移到</body>后面
网页错误详细信息
用 户代理: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)
时间戳: Wed, 14 Apr 2010 08:33:56 UTC
消息: HTML Parsing Error: Unable to modify the parent container element before the child element is closed (KB927917)
行: 0
字符: 0
代码: 0
URI:?
http://support.microsoft.com/kb/927917

二、

它的发生,是因为某些DOM操作发生在DOM树加载完成之前,比如appendChild

就像下面的代码:

<html>
<head>
</head>
<body>
<div>
<script type="text/javascript">
??? alert(document.readyState);
??? var oDiv = document.createElement("DIV");
??? oDiv.innerHTML = 'test odiv test odiv';
??? document.body.appendChild(oDiv);
</script>
</div>
</body>
</html>

当解析到DIV时就开始在BODY上appendChild,而这个时候BODY是还没有完全就绪的(It is not fully loaded),文档结构仍在loading和interactive状态之间,于是,便会得到上述错误。当然,该错误目前已确切知道的会存在于IE6和 IE7两个版本中(低于IE6的未进行测试),在IE8中将会得到一个HTML解析错误:HTML Parsing Error: Unable to modify the parent container element before the child element is closed (KB927917)

1.要解决这个问题,可以进行document.readyState状态判断,当它为complete时再进行相应的操作,或者给script标签加上defer属性(该属性在IE8中已不获支持)。

2.或者

js中加入了 setTimeout("XXXX()",1000);,使其获得足够的加载时间后执行目标(XXXX)的function,于是问题得到解决

来源:http://blog.163.com/xiao_mege/blog/static/72942753201102491443802/

?

==================网页错误详细信息

用户代理: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)
时间戳: Fri, 16 May 2014 15:22:18 UTC


消息: HTML Parsing Error: Unable to modify the parent container element before the child element is closed (KB927917)
行: 0
字符: 0
代码: 0
URI: http://10.1.5.71:19086/teamworks/fauxRedirect.lsw?zWorkflowState=2&zTaskId=t13313&zComponentName=Coach&zComponentId=3003.70d8bd51-16a8-4462-a363-4c8355ad6e03&zDbg=0


消息: 'html()' 为空或不是对象
行: 132
字符: 2
代码: 0
URI: http://10.1.5.71:19086/teamworks/webasset/2064.bbe2c78f-256c-426a-9bf0-26253b9d174f/W/top.js

  评论这张
 
阅读(69)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017