Javascript 获取XmlHttpRequest的部分结果会冻结IE 11中的浏览器
我有一个脚本,它从XmlHttpRequest读取数据,并偶尔为它读取的数据调用指定的回调。这样做是为了用户不必下载整个文件就可以开始查看它 因此,在发送请求后,我添加了readystatechange事件的处理程序,简化后的处理程序如下:Javascript 获取XmlHttpRequest的部分结果会冻结IE 11中的浏览器,javascript,ajax,internet-explorer,xmlhttprequest,Javascript,Ajax,Internet Explorer,Xmlhttprequest,我有一个脚本,它从XmlHttpRequest读取数据,并偶尔为它读取的数据调用指定的回调。这样做是为了用户不必下载整个文件就可以开始查看它 因此,在发送请求后,我添加了readystatechange事件的处理程序,简化后的处理程序如下: request.onreadystatechange = function () { if (request.readyState !== 3 && request.readyState !== 4 || request.status
request.onreadystatechange = function () {
if (request.readyState !== 3 && request.readyState !== 4 || request.status !== 200) {
return;
}
var responseText = request.responseText;
if (responseText.length === 0) {
return;
}
if (stream.offset + responseText.length > stream.processed) {
var chunk = responseText.substring(stream.processed - stream.offset);
stream.processed += chunk.length;
stream.callback(chunk);
}
};
它在Chrome36和Firefox31中运行良好,但在IE11中,页面会冻结一分钟
所以我运行了探查器,第一行是
所以我的问题是:为什么访问responseText要花这么多时间?我能做些什么?你解决过这个问题吗?我也遇到过同样的问题。不幸的是,我没有。我刚刚调整了设置,在IE中调用回调的次数减少了。