+ -
当前位置:首页 → 问答吧 → 在IE6下onreadystatechange事件如何释放?

在IE6下onreadystatechange事件如何释放?

时间:2011-02-24

来源:互联网

在使用ajax编程时,由于使用多次同步异步操作,因此希望在使用同步方式时释放onreadystatechange事件,在IE8下没有问题,但在IE6下使用下列句子时出错,提示"对象不支持此属性和方法",希望高手指导,谢谢!

var x=getXHRobject();
  if(x.onreadystatechange) x.onreadystatechange=null;
x.onreadystatechange=function() {f()}

其中x.onreadystatechange=null;
在IE6下使用下列句子时出错,提示"对象不支持此属性和方法"

作者: UlikeLeo   发布时间: 2011-02-24

你是如何创建xhr对象的,如果是先判断XMLHttpRequest,然后再是acx,那么使用XMLHttpRequest创建的对象支持使用onreadystatechange获取的

IE7+浏览器支持XMLHttpRequest对象,所以不会出错,如果你改成判断acx先再是XMLHttpRequest,IE8也会出错

但是IE6不支持XMLHttpRequest,只能使用acx创建,所以使用if(x.onreadystatechange)时就出错,设置onreadystaechange=null语句也会出错

你可以试试 
JScript code
delete x.onreadystatechange


acx这种释放资源的由js引擎处理就行了吧。。acx释放不了只能说是IE6的bug了。

作者: showbo   发布时间: 2011-02-25