我实现了计算互联网连接下载速度的功能。使用Ajax我从服务器调用一个php文件,打开一个大文件(比如30MB)并将数据刷新到Web浏览器(客户端)。这适用于Mozilla和Chrome,但是在IE 8中它会卡在中间(因为服务器刷新的数据可能很大)。我在IE 8中使用了xdomainrequest。请让我知道是否有任何改进IE的下载脚本以便我可以获得正确的下载值。
以下是代码段。
function myfun()
{
try
{
if(BrowserType=="MSIE")
{
xhr=new XDomainRequest();
xhr.onerror = err;
xhr.ontimeout = timeo;
xhr.onprogress = progres;
xhr.onload = loadd;
// xhr.onabort = stopdata;
xhr.timeout = 500;
}
else
xhr = new window.XMLHttpRequest();
xhr.onreadystatechange=function()
{
if(BrowserType!="MSIE")
{
var iLen = bufferedData.length;
if(iLen <= 100000)
bufferedData=bufferedData+xhr.responseText;
}
if (xhr.readyState==4 && xhr.status==200)
{
//alert(xhr.responseText);
}
}
xhr.open("GET", "http://myserver/donload.php", true);
xhr.send();
if(BrowserType=="MSIE")
{
var data=xhr.responseText;
}
}
catch(e)
{
alert(e);
}
}
或者有这种方法的替代方案。
Regds
答案 0 :(得分:0)
尝试jQuery,它有一个ajax方法,适用于每个浏览器。 http://api.jquery.com/jquery.ajax/
这也有助于你:http://www.dave-bond.com/blog/2010/01/JQuery-ajax-progress-HMTL5/
答案 1 :(得分:0)