HTML Parsing Error KB927917

它的发生,是由于某些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中已不获支持)。

javascript

2.或者
html

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

相关文章
相关标签/搜索