pace.js 自動加載進度條插件的簡單使用教程


pace.js 是頁面加載進度條的 js 插件,它可以自動監控頁面的 ajax 請求,事件循環滯后,文檔准備狀態以及元素是否已出現在頁面上來顯示進度。 

使用示例

去官方github倉庫: https://github.com/HubSpot/pace,下載最新的發布版本。
 
在自己的頁面引入 pace.js 和主題樣式 css:
 
<head>
  <script src="/pace/pace.js"></script>
  <link href="/pace/themes/pace-theme-barber-shop.css" rel="stylesheet" />
</head>

 

配置說明

pace.js 是不需要任何配置就可以自動進行監控了。如果要進行自定義配置,將 window.paceOptions 的定義語句放到引入 pace.js 文件的之前即可。
 
<script>
window.paceOptions = {
    ajax: {
        trackMethods: ['GET', 'POST'],
    },
    restartOnRequestAfter: false,
};
</script>
<script src="/pace/pace.js"></script>

 

上面的配置代碼中的 trackMethods 表示會自動監控 ajax 的 GET 和 POST 的請求方法(默認只監控 GET 請求方法)。
 
restartOnRequestAfter 設置成 false 表示除頁面導航外禁用 ajax 請求監控。
 
下面是 pace.js 源碼中的默認配置,供參考:
 

收集器

pace.js 有 4 種收集器,用來判斷加載進度條的信息。
 
1.ajax - 監控頁面所有的 ajax 請求
2.elements - 檢查元素是否存在頁面上
3.document - 檢查文檔准備狀態
4.event lag - 檢查事件循環滯后信號,表明正在執行javascript(不好懂)

API

Pace.start()
顯示進度條。一般會自動調用。
 
Pace.restart()
從頭開始顯示進度條。當pushState或replaceState時默認情況下會自動調用。
 
Pace.stop()
隱藏進度條並停止更新。
 
Pace.track()
明確跟蹤一個或多個請求
 
Pace.ignore()
明確忽略一個或多個請求

事件

Pace 觸發事件包括:
 
start:開始啟動 pace 時
stop:手動停止 pace 時
restart:重新開始 pace 時(手動或通過新的AJAX請求)
done:pace 已經完成
hide:pace 已經被隱藏(晚於 done 事件,基於 ghostTime 和 minTime 的配置)
 
可以用 on, off 和 once 方法綁定事件。
 
Pace.on(event, handler, [context]): 事件被觸發時調用 handler 處理函數
Pace.off(event, [handler]): 解除綁定事件與 handler 處理函數
Pace.once(event, handler, [context]): 事件被觸發時調用 handler 處理函數,事件只會被觸發一次

其它

pace.js 倉庫最后的更新時間是 2017 年,官方在 github 首頁也進行了聲明,不再進行維護。在我的項目中 pace.js 足夠滿足使用了,並且對於這個庫中的 event lag 還需要進一步的學習。
 
pace.js 官方文檔: https://github.hubspot.com/pace/
pace.js 官方倉庫: https://github.com/HubSpot/pace
 


免責聲明!

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



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