佚名通过本文主要向大家介绍了
msxml里边有个IXMLHttpRequest组件,谁知道其onreadystatechange属性的实现原理是什么?等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: msxml里边有个IXMLHttpRequest组件,谁知道其onreadystatechange属性的实现原理是什么?
描述:
解决方案1:
描述:
我们知道,这个属性是一个IDispatch指针,用法我也会,只是我也想实现一个类似的能够异步调用的组件,并且可以在AJAX应用当中使用,请问这个属性的内部实习那原本原理是什么?
我试过,在javasrcipt里给我自己编的组件的类似属性复制后,该回调函数无法在另一个线程里被调用(报错)。
经过我实验,发现IXMLHttpRequest的onreadystatechange属性(回调函数),不是在新的线程类里被调用的,而是在主线程里被调用的,这种实现在一般的windows程序里好实现,只要发消息就可以了,但是在网页里,我如何给网页发消息,让他调用这个回调函数呢?
这块我不太熟悉,望达人指点,如有愿意指教的或者切磋的,也可以给我发email,voxforce@sohu.com
谢了。。
解决方案1:
至于onreadystatechange内部也是通过windows消息队列来实现的,Windows可以把网络事件放到消息队列中来响应。
解决方案2:最简单的办法用一个Timer来轮询,javascrpit里面是setInterval
解决方案3:http://support.microsoft.com/kb/157437