pacejs進度條監控服務端數據加載是否完畢


  記得剛剛入職新公司的時候,公司在做app里面的h5頁面。跟之前公司的流程不太一樣。之前都是寫完靜態頁面后通過ajax加載接口數據,這公司省事了,寫完靜態頁面直接扔給服務端,他們來填數據,確實給前端省事了。但新問題也不少。

  前段時間寫了個頁面,服務端填完數據上線了。但發現數據多的情況下,加載時間比較長,頁面一片空白。體驗效果特別差。就想着可以加個進度條。

  可問題來了,之前可以用ajax判斷數據是否加載完畢。但現在怎么判斷呢。糾結了好長時間。翻閱各種資料,

  發現有個pace.js可以監聽服務端的數據的進度條,下載下來試了試。確實可以,引入js跟css,代碼都不用寫,確實挺不錯。

  具體請參考pace.js  http://github.hubspot.com/pace/docs/welcome/  

  就在前兩天,又有進度條的需求了,這次用的ajax,那更簡單了,加載進來就可以了,但發現還是會有問題,ajax請求會發出兩個,一個請求頭,一個請求體,當請求頭發送完畢后進度條就消失了。但內容還沒有出來,看文檔里面可以監聽全部ajax請求完畢,

window.paceOptions = {
     ajax: true,
     eventLag: false,
     elements: false
  }

在window.paceOption{ } 里設置ajax為true之后,當網速過慢的情況下,會發現使用pace.js進度條並沒有等數據全部請求完成之后消失,並沒有達到理想的效果。查了好多資料發現pace.js在一些版本里默認ajax只跟蹤GET方法的問題,需要在pace.js引入前添加代碼(這句是重點)

window.paceOptions = {
    ajax: {
      trackMethods: ['GET', 'POST']
    }
  }

或者把post請求改成get.

神奇的發現,真的可以了,只有在數據全部加載完畢以后,進度條才會消失。這算pacejs的坑嗎,也不確定,

簡單的記錄一下,有朋友遇到同樣的問題,可以做下參考。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM