我有一个工作文件上传表单,它使用XMLHttpRequest 2将文件上传到Transloadit(文件处理服务).在Firefox和Chrome中,无论是桌面还是Android,都会正确触发进度事件.但Android(4.0)股票浏览器不会触发这些事件,因此我的进度条对我网站的用户不起作用.据说Android自3.0以来支持XHR2和ProgressEvent,所以我不知道发生了什么.
代码是:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Upload test</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
<link href="/assets/application.css" media="all" rel="stylesheet" type="text/css" /> <!-- twitter bootstrap -->
<script type="text/javascript">
var onprogress = function(e)
{
var $status = $('.status');
$status.text('onprogress: ' + (e.loaded / e.total) * 75 + '<br>');
if (e.lengthComputable) {
setProgress((e.loaded / e.total) * 75);
}
}
var setProgress = function(percent) {
percent = percent+'%';
var $progressBar = $('.progress .bar');
var $status = $('.status');
$progressBar.css('width', percent);
$progressBar.text(percent); …Run Code Online (Sandbox Code Playgroud) javascript html5 xmlhttprequest android-browser xmlhttprequest-level2