使用php+apc實現上傳進度條且在IE7下不顯示的問題解決方案_PHP教程

來源:互聯網
上載者:User
今天整理以前寫過的關於上傳檔案,並顯示進度條的程式碼,對該代碼進行最佳化整理。解決了一直困擾的問題:有時進度條沒有達到100%,瀏覽器出現假死現象。在IE8、chrome測試非常完美。

項目需求:

上傳APK,顯示上傳進度條,上傳完成開始分析APK,並顯示:正在分析apk資料,請稍後... ,分析完成後,顯示:上傳成功,重新上傳

由於我電腦裝的是winxp英文版,IE預設的是IE7,在測試的時候發現進度條不顯示。百分比也不顯示。

排除問題:

1、將DOM改成jquery方式,不顯示

2、給遞迴調用加上延時,不顯示。加上延時代碼:setTimeout("getProgress('"+upid+"')",500);

3、是否是容器層次問題導致?於是測試是否執行上傳期間模組。在頁面中隨便加個容器,寫個全域變數i,在上傳期間調用的模組中寫入到該容器i++,顯示,說明正確調用

4、即然顯示,進度條和百分比都為0,是不是接收的json資料有問題?

由於我返回的代碼為:echo json_encode($arr); 本身就為json資料,但為了找出原因,將返回的資料在執行一次:var dataObj=eval("("+data+")");//轉換為json對象

顯示指令碼錯誤。

5、難道是緩衝?於是將
複製代碼 代碼如下:
$.getJSON("ProcessBar.php",{progress_key:upid},function(result){

改為:
複製代碼 代碼如下:
$.getJSON("ProcessBar.php",{progress_key:upid,time:(new Date()).getTime()},function(result){

完美解決問題。

http://www.bkjia.com/PHPjc/326784.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/326784.htmlTechArticle今天整理以前寫過的關於上傳檔案,並顯示進度條的程式碼,對該代碼進行最佳化整理。解決了一直困擾的問題:有時進度條沒有達到100...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.