Ajax文件上传进度无法在移动浏览器上运行

时间:2013-03-05 14:21:48

标签: javascript ajax

我正在使用Ajax使用以下JavaScript代码生成文件上传进度条

function ulpoad_file(){ 


    var o = $id("progress");

    para = document.createElement("p")
    para.style.height = 2 + 'px'; 
    var progress = o.appendChild(para);
    var file = $id("file").files[0];


    var xhr = new XMLHttpRequest(); 


    xhr.upload.addEventListener("progress", function(e) {      
        var pc = parseInt(100 - (e.loaded / e.total * 100));
        progress.style.backgroundPosition = pc + "% 0";        
        p = 100-pc;
        $id("status").innerHTML = p.toString() + "% Uploaded";
    }, false);


    xhr.onreadystatechange = function(e) {
        if (xhr.readyState == 4) {
            progress.className = (xhr.status == 200 ? "success" : "failure");
        }
    };


    xhr.open("post", "", true);
    xhr.onreadystatechange = function() {
        if (xhr.readyState == 4) {
            callback(xhr.responseText);
        }
    }

    var datas = new FormData();
    datas.append('file', file);


    xhr.send(datas);  

}

function $id(id) {
    return document.getElementById(id);
}

对于chrome和几个firefox版本都可以。

但是“xhr.upload.addEventListener”不适用于移动浏览器(手机和标签中的Android浏览器)和Linux机器中的Firefox。

这有什么问题吗? 在移动浏览器中使用Ajax进度条的正确方法是什么?

由于

0 个答案:

没有答案
相关问题