详细内容
KB927917的解决办法
发布日期:2012-06-21     点击:3767     字体:[ ]

在IE8或者IE7浏览器,当在一个标记里用appendChild这类函数时,会出现HTML Parsing Error: Unable to modify the parent container element before the child element is closed (KB927917) 这个错误,其实这个错误的根本原因是在一个未闭合的节点内使用了append这类函数,网上解决这类错误的方法有以下几个:

1。下面是一个出现这个问题的例子:

<html>  <body>      <table>                <tr>                         <td>                                 <script type="text/Javascript">                                                  var d = document.createElement('div');                                                  document.body.appendChild(d);                                 </script>                         </td>                 </tr>      </table>  </body> </html>
把脚本移动到table外面,这个问题就解决了:
<html>  <body>      <table>                <tr>                        <td>                       </td>                 </tr>      </table>      <script type="text/Javascript">                                  var d = document.createElement('div');                                  document.body.appendChild(d);                     </script>  </body> </html>
其实在出现这种问题的时候,我们可以把这类代码移到body标签后,这样基本可以杜绝这类问题。
 
还有一种解决办法是用 insertBefore操作替代appendChild

insertBefore操作替代appendChild

function bgad(){//.....document.body.insertBefore( ad,document.body.firstChild);//.....}

直接寻找body的第一个节点,这样就避免了节点 不完整情况。

用户评论
昵称 
内容  *
验证码   
   
Copyright © 2010 zdbase.com All Rights Reserved. 苏ICP备15039389号 可人软件设计