问题:网站在IE 6下面打开会提示:Internet Explorer无法打开站点XXX。已终止操作

今天遇到一个问题,网站在IE 6下面打开会提示:Internet Explorer无法打开站点XXX。已终止操作。

先介绍一下网上常见的解决方法。

因为在页面还没有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方法。

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

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

1function mytest(){
2     if(document.readyState=="complete")
3          //执行函数
4     else
5          setTimeout("mytest()",1000)
6}

其实我遇到的问题很简单,不是上面的问题造成的。

看以下代码:

<!----
2        <div class="kb">
3        <table>
4        <tr>
5            <td>快讯:</td>
6            <td><div id="div4" class="kb_core"><a><script type="text/javascript" src="http://bbs.ituwww.com/api.php?mod=js&bid=69"></script></a></div></td>
7        </tr>
8        </table>
9        </div>  -->

由于注释中将<script>标签也注释了,这个虽然在其他浏览器没问题,但是在IE6下缺导致无法接受的错误。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值