用javascript读取一个xml文件,如何判断读取完成?
小弟想用javascript读取一个xml文件,在IE上用
this.xmlDoc= new ActiveXObject("Microsoft.DomDocument");
this.xmlDoc.load(url);
然后用一个while循环判断this.xmlDoc.readyState来判断。还需要time-out机制。
代码如下:
var today = new Date();
var now = today.getTime();
while(1)
{
//alert(this.xmlDoc.readyState);
var today2 = new Date();
var now2 = today2.getTime();
if((now2 - now) > 500 || (this.xmlDoc.readyState == 4))
{
alert(now2 - now);
return;
}
}
文件很小,50miliseconds就足够。
但是,我发现每次都是在time-out以后退出,alert出来的总超过500,甚至把500换成5000,还是这样,IE hang住5秒。
我没设xmlDoc.async,是不是因为while循环占用cpu,使得读取xml文件的线程没有完成?
如果设成async = false.那我怎么time-out读取的过程?
在NS,mozilla里更糟,只能:
this.xmlDoc = document.implementation.createDocument("","doc",null);
this.xmlDoc.load(url);
还有没有readyState可以check.
请教各位大侠有河良策?
多谢。