IE提示“Internet Explorer无法打开站点XX,已终止操作”的解决办法

部署好工程后,打开网页时,有时刷新网页会出现这种问题
 
   因为在页面还没有ready的时候就调用了htmlObject的appendChild或者innerHTML操作,这样会在IE上弹出一

个对话框:“Internet Explorer无法打开站点XXX,已终止操作”

  解决办法大概为以下两点:

  (1)在appendChild或者innerHTML操作处判断document.readyState=="complete", 若为否,则setTimeout若

干秒之后重新作这个操作。但是,此属性只对ie,opeara有效,ff的document没有readyState属性,永远是

undefined.

  (2)在script中使用defer属性。意在页面加载完毕后再执行脚本,这样可以避免找不到对象的问题。defer不

会考虑外部文件是否全部下载完,只会判当前页面是否全部加载完成。并且,有defer标签的代码块里不能写

document.write方法

第二种方法,用在加载外部文件时,效果并不好,可能又引起其他意想不到的问题

所以采用了第一种方法,采用递归的方法

function mytest(){
     if(document.readyState=="complete")
          //执行函数
     else
          setTimeout("mytest()",1000)
}

posted on 2010-09-15 10:02  banditi  阅读(7933)  评论(0编辑  收藏  举报