Dzwebs.Net

撰写电脑技术杂文十余年

HTML Parsing Error:Unable to modify the parent container element before the child element is closed

Admin | 2015-9-25 10:28:02 | 被阅次数 | 3764

温馨提示!

如果未能解决您的问题,请点击搜索;登陆可复制文章,点击登陆

  在制作网页的时候,如果使用了JS代码,有可能会出现这样的错误提示:

  HTML Parsing Error:Unable to modify the parent container element before the child element is closed

  解决办法:

  1、查看是否有未关闭的html标签,比如<table>而没有</table> (我就是这个原因)

  2、是否在页面未加载完前js代码操作了body里的元素,将相关js代码移到</body>后面

  原因:该问题的发生,是因为某些DOM操作发生在DOM树加载完成之前,比如appendChild

  就像下面的代码:

  <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>

  当解析到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,于是问题得到解决 。


该杂文来自: 网页制作杂文

上一篇:display:inline

下一篇:xheditor隐藏取消上传图片的设置

网站备案号:

网站备案号:滇ICP备11001339号-7

版权属性:

Copyright 2007-2021-forever Inc. all Rights Reserved.

联系方式:

Email:dzwebs@126.com QQ:83539231 访问统计