我已經編寫了一個應用程序與龍捲風,以支持通過HTTP流在我的網站上的實時更新。它適用於除IE7和IE8以外的所有瀏覽器。這裏是處理HTTP流代碼:IE7/8 responseText in readyState 3不可用
... code to create xhr object
xhr.open('GET', 'http://192.168.0.173:8888', true);
xhr.onreadystatechange = function() {
if(xhr.readyState == 3 && xhr.status==200) {
try {
alert(xhr.responseText);
} catch(e) {
alert("noo");
}
}
}
setTimeout("xhr.send(null);", 1000);
的問題是,xhr.responseText不可用時readyState爲3.在谷歌的幾個小時裏,我學到了IXMLHTTPRequest.responseStream。我試圖使用
xhr = new ActiveXObject("MSXML2.XMLHTTP.3.0");
但結果相同。請求被髮送到服務器,readyState爲3,但xhr.responseStream不可用。
任何想法?或者當我檢測到IE時,我應該回到長輪詢?
謝謝
亨利
你有沒有考慮過使用JS框架來跨瀏覽器提供一致的功能? – 2010-11-11 19:32:34
我試過jQuery和YUI,但他們似乎不支持這一點。你知道一個支持HTTP流媒體嗎? – spreiter301 2010-11-11 20:06:12
我記得在使用'onreadystatechange'事件的時候,你不能保證每一個'readyState'都會被打到。 – drudge 2010-11-11 23:01:53