关于IE无法打开站点XX已终止操作问题

添加评论 2009年7月10日

在页面还没有ready的时候就调用了htmlObject的appendChild或者innerHTML操作,这样会在IE上弹出一个对话框:“Internet Explorer无法打开站点,已终止操作”

解决方法有两个:

(1)在appendChild或者innerHTML操作处判断document.readyState=="complete", 若为否,则setTimeout若干秒之后重新作这个操作。

但是,此属性只对ie,opeara有效,ff的document没有readyState属性,永远是undefined.

(2)在script中使用defer属性。意在页面加载完毕后再执行脚本,这样可以避免找不到对象的问题。defer不会考虑外部文件是否全部下载完,只会判当前页面是否全部加载完成。并且,有defer标签的代码块里不能写document.write方法

使用ajax时发生错误的解决方案:在appendChild或者innerHTML操作处判断document.readyState=="complete", 若为否,则setTimeout若干秒之后重新作这个操作。

如果要加载独立的脚步文件 可靠的做法是在_onload事件中调用,兼容firefox的一种写法如下:

以下为引用的内容:

<script type="text/javascript">

functi_on init(arg){

        //do sth.

}

if(typeof(document.body._onload)=="undefined")

        window._onload=to_do(arg);

else

        document.body._onload=new Functi_on('to_do(arg);');

</script>

  1. 2010年11月9日 at 11:11 | #1
    ikoknionon

    你说这些,我哪找去啊,就算高手吧,说的清楚点,麻烦,好吗?

  2. 2010年11月9日 at 12:59 | #2
    iefans

    抱歉我的方法是针对网站开发人员,这个是因为网站的代码出现问题而导致IE浏览器出现错误提示,这个跟你的浏览器是没有关系的,所以您的浏览器不需要做任何的设置,如果你想继续访问这个网站可以尝试多刷新几次,或者清空IE的临时文件夹。

  3. 2011年7月27日 at 17:31 | #3
    郁闷

    iefans 说法是错误的!!
    同样的XP IE6一台新装系统出现错误,而以前很久
    装的XP IE6不出现错误,不知道老的电脑安装了
    什么插件,把IE所有选项都按老电脑设置了无效。

  1. 还没有 trackbacks
订阅评论