Uploadify没有在Firefox Mac上显示进度

时间:2013-08-01 01:06:06

标签: php codeigniter jquery uploadify m

我漫长而持久的网站即将完成。在回顾一些测试时,我注意到我的uploadify在所有浏览器上工作正常,除了firefox,这只发生在MAC机器上的firefox上。这很奇怪,但文件实际上上传很好,只是加载pregress栏%不会增加并保持在0直到脚本实际完成。请hellllpppp。代码对于所有浏览器都是相同的,它甚至可以在IE 8中运行。非常奇怪,我尝试过所有浏览器,PC和Mac。

更新:

我仍然苦心想要让它发挥作用。我使用了onUploadProgress回调函数

'onUploadProgress' : function(file, bytesUploaded, bytesTotal, totalBytesUploaded, totalBytesTotal) {
                if(bytesUploaded > 10){
                    var test = "";
                }
                $('#progress').html(totalBytesUploaded + ' bytes uploaded of ' + totalBytesTotal + ' bytes.');
             } 

我试着看看它是否被调用。除了bytesUploaded = 0之外,我永远无法在调试器内调用它。出于某种原因,onUploadProgress在此过程中未启动。文件上传很好,但没有显示进度,这对用户来说是一个问题。

我还试图深入了解uploadify.js文件的内部工作原理,以找出它上传过程的位置,并发生同样的事情。以下是发生这种情况的代码。

function g(x,C,z){
                                                                                    var v=new Date();
                                                                                    var D=v.getTime();
                                                                                    var A=D-j.timer;
                                                                                    j.timer=D;
                                                                                    var y=C-j.bytesLoaded;
                                                                                    j.bytesLoaded=C;
                                                                                    var u=j.queue.queueBytesUploaded+C;
                                                                                    if(C > 100){
                                                                                        var TEST = "";
                                                                                    }
                                                                                    var F=Math.round(C/z*100);
                                                                                    var B=0;var w=(y/1024)/(A/1000);
                                                                                    w=Math.floor(w*10)/10;
                                                                                    if(j.queue.averageSpeed>0){
                                                                                        j.queue.averageSpeed=(j.queue.averageSpeed+w)/2
                                                                                    }else{
                                                                                        j.queue.averageSpeed=w
                                                                                    }
                                                                                    if(w>1000){
                                                                                        B=(w*0.001);
                                                                                        j.queue.averageSpeed=B
                                                                                    }
                                                                                    var E="KB/s";
                                                                                    if(B>0){
                                                                                        E="MB/s"
                                                                                    }
                                                                                    if(a.inArray("onUploadProgress",j.settings.skipDefault)<0){
                                                                                        if(j.settings.progressData=="percentage"){
                                                                                            a("#"+x.id).find(".data").html(" - "+F+"%")
                                                                                        }
                                                                                        else{
                                                                                            if(j.settings.progressData=="speed"){
                                                                                                a("#"+x.id).find(".data").html(" - "+F+E)
                                                                                            }
                                                                                        }
                                                                                        a("#"+x.id).find(".uploadifyProgressBar").css("width",F+"%")
                                                                                    }
                                                                                    if(j.settings.onUploadProgress){
                                                                                        j.settings.onUploadProgress(x,C,z,u,j.queue.uploadSize)
                                                                                    }
                                                                                }

我试图将断点放在变量F设置的位置附近。该函数只在调试器0调用时调用,我想也许是因为那时文件已经上传但是也试图在代码中放置if语句只在​​上传的字节大于100时停止调试器,这是不是那么多,但似乎由于某种原因它在启动0字节后没有被调用。

我没有在控制台中看到与uploadify相关的任何错误。请你好!

0 个答案:

没有答案