• IE8"HTML Parsing Error:Unable to modify the parent container element before the child element is closed"错误


    一、IE8报下面错误,解决办法:
    网页错误详细信息
    消息: HTML Parsing Error: Unable to modify the parent container element before the child element is closed (KB927917)
    行: 0
    字符: 0
    代码: 0
    1、查看是否有未关闭的html标签,比如<table>而没有</table>
    2、是否在页面未加载完前js代码操作了body里的元素,将相关js代码移到</body>后面
    3、是否在代码中添加了addthis分享js
    4、是否IE8打开了兼容性视图
    (我的页面出错就是3、4两个原因导致的)


    二、之所以发生这样的错误,是因为某些DOM操作发生在DOM树加载完成之前,比如appendChild
    就像下面的代码:
    <html>
    <head>
    </head>
    <body>
    <div>
    <script type="text/javascript">
        alert(document.readyState);
        var oDiv = document.createElement("DIV");
        oDiv.innerHTML = 'afish.cnblogs.com';
        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("xxx()",1000);,使其获得足够的加载时间后执行目标(xxx)的function,于是问题得到解决。

  • 相关阅读:
    C# 解析 json
    鸡汤一则
    jsp 环境配置记录
    jquery validate 自定义验证方法
    axure rp pro 7.0(页面原型工具)
    跨数据库服务器查询步骤
    .net 直接输出远程文件到浏览器和下载文件保存到本机
    URL中文乱码处理总结(转)
    使用ajax上传中遇到的问题
    Web 通信 之 长连接、长轮询(转)
  • 原文地址:https://www.cnblogs.com/afish/p/4131188.html
Copyright © 2020-2023  润新知