首页 > 编程知识 正文

js实现文件下载显示进度条(js 文件上传进度)

时间:2023-12-24 12:05:29 阅读:320387 作者:YOOM

本文目录一览:

js高手处理网站每页加载时显示进度条

这个很难实现的,因为要想实现准确的进度条,就必须知道要下载的总字节数和当前已下载的字节数,总字节数除了html文件本身,还有里面的各种对象如图片、动画、css文件、js文件等的字节数,还要区分哪些是从电脑的cache取出的,哪些是从服务器下载的,有些数据要等到页面完全下载完毕才能得到,这马后炮有什么用呢。IE浏览器本身的进度条都无法做到准确呢,何况用JS?

一般都是用个动态GIF图片或Falsh循环滚动一下糊弄糊弄用户就行了。我还没见过能精确计算出加载进度的网站,如果有,那我只能说他们糊弄的技术很牛B

文件下载如何使用进度条?

在VS2005下使用webclient是可以使用进度条的。

方式是使用DownloadProgressChanged来实现

使进度条的value=e.ProgressPercentage

这样就可以了。

还有,这个方式得使用异步下载。

关于js或jquery进度条实现?

写一个div定义宽高,下面铺一个背景图片,作为进度条为空的情况。

再在div内部加添加一个img图片,这个图片要可以左右延展的。然后用JavaScript动态控制图片的宽度即可,实现进度展现。

JS程序 图片(即进度条)加载

ajax默认情况下是异步执行的(建议尽量异步),也就是说当发出ajax命令后,程序是不停顿的,如果这时候隐藏图片,那么就相当于没有显示了(浏览器可能来不及把图片显示出来就被你隐藏了)。所以,标准做法是在ajax的回调函数中进行图片的隐藏(建议用complete事件),比如:

var loading=document.getElementById("loading");

loading.style.display="block";  //尽量不要通过设为空白来显示图片,兼容性差

ajax({

    //...其他参数略

    success:...

    fail:...

    complete:function(){

        loading.style.display="none";   //在这里隐藏!

    }

});

JS做的进度条,如何做的?

js其实是没法计算到网页的加载进度的。

目前见到的打开页面显示进度的有两种

1、如果是flash做的,那是flash自身的加载进度。

2、如果是js做的,做法比较简单,就是在页面的不同的地方插入script标签,动态改变进度的值。     

html

    head

        script

        var processPer = 0;

        window.onload = function(){

            document.getElementById('process').innerHTML = processPer;

        }

        /script

    /head

    body

        div id="process"/div

        div/div

        ....

        script

        processPer = 30;

        document.getElementById('process').innerHTML = processPer;

        /script

        div/div

        ....

        div/div

        ....

        script

        processPer = 100;

        document.getElementById('process').innerHTML = processPer;

        /script

    /body

/html

类似这样的,就可以实现了进度的动态改变。

自己用php做了一个文件下载器,如何在点击“下载后”按钮显示一个进度条

如果确实想精确的处理下载进度条的话,两种方案:

第一种是需要用socket保持与客户端通信,返回已下载的数据大小,然后可以显示下载速度,以及进度条之类。

第二种是php与flash交互,显示进度条。

否则的可以显示一个模拟进度条,如果满足需求的话。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。