SPA(Single Page Application)單頁面應用中,頁面只會刷新一次。傳統的方式只會在頁面加載完成后上報一次PV,而無法統計到各個子頁面的PV,也無法讓其他類型的日志按子頁面聚合。本文介紹如何使用ARMS前端監控SDK解決SPA頁面上報問題。

ARMS前端監控SDK提供了針對SPA頁面的兩種處理方式:

  • 開啟SPA自動解析
  • 完全手動上報

開啟SPA自動解析

此方法適用于大部分以URL Hash作為路由的單頁面應用場景。

在初始化的配置項中,設置enableSPAtrue,即會開啟頁面的Hashchange事件監聽(觸發重新上報PV),并將URL Hash作為其他數據上報中的page字段。

enableSPA配套的還有parseHash,更多信息,請參見enableSPAparseHash

完全手動上報

此方法可用于所有的單頁面應用場景。如果第一種方法無效,則可用此方法。

SDK提供了setPage方法來手動更新數據上報時的page name。調用此方法時,默認會重新上報頁面PV。更多信息,請參見setPage()

// 監聽應用路由變更事件。
app.on('routeChange', function (next) {
    __bl.setPage(next.name);
});