`
weiyc_16000
  • 浏览: 18302 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

“Internet Explorer无法打开xxx,已中止操作”问题记录

阅读更多

      近期所做的一个系统在使用的过程中,有用户在登录后导向首页的时候,ie浏览器报出“Internet Explorer无法打开xxx,已中止操作”的错误,在确定之后,页面显示”此程序无法显示网页“。奇怪的是,同样的页面,同一类型的用户,目前只发现一名用户出现了这种问题,感到非常茫然。

 

      在查找资料之后,发现此错是由于IE浏览器的bug引起,该bug的产生情景是:子容器中的脚本区企图对父容器进行改变。这个改变包括:改变父容器的innerHTML;改变父容器的child。如以下两例所示:

 

<html>
  <body>
      <div>
                  <script type="text/Javascript">
                    document.body.innerHTML+="sample text";
                  </script>
      </div>
  </body>
</html>
 

 

<html>
  <body>
      <table>
                <tr>
                         <td>
                                 <script type="text/Javascript">
                                                  var d = document.createElement('div');
                                                  document.body.appendChild(d);
                                 </script>
                         </td>
                 </tr>
      </table>
  </body>
 </html>

 

    解决这个问题的方法是:

    1、将脚本直接放置在父容器之中。

    2、脚本运行前,所操作的父容器元素已被关闭。

 

    例1的解决方案:

 

<html>
  <body>
      <div>
      </div>
      <script type="text/Javascript">
           document.body.innerHTML+="sample text";
      </script>
  </body>
</html>

 

 

<html>
  <body>
      <div id="targetContainer">
      </div>
      <div>
      <script type="text/Javascript">
           document.getElementById('targetContainer').innerHTML+="sample text";
      </script>
      </div>
  </body>
</html>

 

    例2的解决方案:

 

 

<html>
  <body>
      <table>
                <tr>
                        <td>
                       </td>
                 </tr>
      </table>
      <script type="text/Javascript">
                                  var d = document.createElement('div');
                                  document.body.appendChild(d);
                     </script>
  </body>
 </html>

 

 

例子参考于微软网站:http://support.microsoft.com/kb/927917/en-us/#top

1
0
分享到:
评论
1 楼 arkxu 2008-11-23  
恩。我当年给google gwt报过一个bug就是说这个事儿的。

相关推荐

Global site tag (gtag.js) - Google Analytics