Javascript Ajax文件上载进度不适用于移动浏览器
我使用Ajax生成文件上传进度条,使用以下JavaScript代码Javascript Ajax文件上载进度不适用于移动浏览器,javascript,ajax,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]; va
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作为进度条的正确方法是什么
谢谢我也有同样的问题。你对此有什么决定吗?它适用于Android上的Chrome和FF,但不适用于Android默认浏览器!此浏览器中似乎没有“进度”事件。此处也存在类似问题。进度事件在iOS 7 Safari上触发,但在iOS上的mobile chrome上不触发。有任何消息或提示某人吗?这里还有一个问题,“进展事件”在Safari iPad上启动,但在Chrome iPad上没有。。。我已经搜索了大约3个小时的解决方案,但什么都没有。事实上,至少对于iOS上的Chrome来说,进度事件不起作用。见和“已知问题#1”