js實現文件下載顯示進度條(js 文件上傳進度)

本文目錄一覽:

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交互,顯示進度條。

否則的可以顯示一個模擬進度條,如果滿足需求的話。

原創文章,作者:MXBK,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/139062.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
MXBK的頭像MXBK
上一篇 2024-10-04 00:22
下一篇 2024-10-04 00:22

相關推薦

  • vue下載無後綴名的文件被加上後綴.txt,有後綴名的文件下載正常問題的解決

    本文旨在解決vue下載無後綴名的文件被加上後綴.txt,有後綴名的文件下載正常的問題,提供完整的代碼示例供參考。 一、分析問題 首先,需了解vue中下載文件的情況。一般情況下,我們…

    編程 2025-04-29
  • 如何在Java中拼接OBJ格式的文件並生成完整的圖像

    OBJ格式是一種用於表示3D對象的標準格式,通常由一組頂點、面和紋理映射坐標組成。在本文中,我們將討論如何將多個OBJ文件拼接在一起,生成一個完整的3D模型。 一、讀取OBJ文件 …

    編程 2025-04-29
  • 為什麼用cmd運行Java時需要在文件內打開cmd為中心

    在Java開發中,我們經常會使用cmd在命令行窗口運行程序。然而,有時候我們會發現,在運行Java程序時,需要在文件內打開cmd為中心,這讓很多開發者感到疑惑,那麼,為什麼會出現這…

    編程 2025-04-29
  • Python中讀入csv文件數據的方法用法介紹

    csv是一種常見的數據格式,通常用於存儲小型數據集。Python作為一種廣泛流行的編程語言,內置了許多操作csv文件的庫。本文將從多個方面詳細介紹Python讀入csv文件的方法。…

    編程 2025-04-29
  • Python程序文件的拓展

    Python是一門功能豐富、易於學習、可讀性高的編程語言。Python程序文件通常以.py為文件拓展名,被廣泛應用於各種領域,包括Web開發、機器學習、科學計算等。為了更好地發揮P…

    編程 2025-04-29
  • Python zipfile解壓文件亂碼處理

    本文主要介紹如何在Python中使用zipfile進行文件解壓的處理,同時詳細討論在解壓文件時可能出現的亂碼問題的各種解決辦法。 一、zipfile解壓文件亂碼問題的根本原因 在P…

    編程 2025-04-29
  • Python將矩陣存為CSV文件

    CSV文件是一種通用的文件格式,在統計學和計算機科學中非常常見,一些數據分析工具如Microsoft Excel,Google Sheets等都支持讀取CSV文件。Python內置…

    編程 2025-04-29
  • Python如何導入py文件

    Python是一種開源的高級編程語言,因其易學易用和強大的生態系統而備受青睞。Python的import語句可以幫助用戶將一個模塊中的代碼導入到另一個模塊中,從而實現代碼的重用。本…

    編程 2025-04-29
  • Python合併多個相同表頭文件

    對於需要合併多個相同表頭文件的情況,我們可以使用Python來實現快速的合併。 一、讀取CSV文件 使用Python中的csv庫讀取CSV文件。 import csv with o…

    編程 2025-04-29
  • Python寫文件a

    Python語言是一種功能強大、易於學習、通用並且高級編程語言,它具有許多優點,其中之一就是能夠輕鬆地進行文件操作。文件操作在各種編程中都佔有重要的位置,Python作為開發人員常…

    編程 2025-04-29

發表回復

登錄後才能評論