Событие прогресса загрузки XMLHttpRequest не работает в Firefox 10.0.2 - PullRequest
2 голосов
/ 04 марта 2012

Я пытаюсь создать форму загрузки на основе ajax с индикатором выполнения. Это мой код (часть загрузки):

$xhr = new XMLHttpRequest();
            $xhr.upload.addEventListener("progress",
                function(e) {
                    if (e.lengthComputable) {
                        $progress = (e.loaded / e.total) * 100;
                        $('#file-progress').css('width', $progressWidth * (e.loaded / e.total));
                        $('#percentage').html($progress.toFixed(2) + '%');
                    } else {
                        alert('Y U NO WORK?');
                    }
                }
            , false); 


            $xhr.onreadystatechange = function(e){
                if($xhr.readyState == 4) {
                    //i'll add this later
                }
            };

            $xhr.open('POST', 'handler.php', true);
            var $data = new FormData();
            $data.append('file', $file.files[0]);
            $xhr.send($data);

Все работает в Chrome (индикатор выполнения и загрузка файла), но в Firefox работает только загрузка файла без индикатора выполнения. Нет ошибок, ничего. Firefox игнорирует слушателя прогресса, и я не могу понять почему, потому что, поскольку я прочитал, Firefox должен поддерживать XMLHttpRequest уровень 2.

...