uni-app的h5頁面中onHide/onUnload方法不觸發(fā)的問題解決方法
背景
- 目的:對h5頁面進行埋點過程中,需要對頁面瀏覽時長進行統(tǒng)計,通過生命周期的監(jiān)聽上傳埋點日志
- 預(yù)設(shè)方案:通過個頁面的onShow/onHide/onUnload生命周期對頁面的展示/隱藏/銷毀進行監(jiān)聽
- 問題:僅在首頁正常觸發(fā)生命周期,通過跳轉(zhuǎn)進入的其他頁面的onShow正常觸發(fā),onHide與onUnload不觸發(fā)
解決過程
- 推測原因:通過路由跳轉(zhuǎn)的頁面屬于二級頁面,而onHide與onUnload生命周期僅在一級頁面中存在
解決方法
- 二級頁面:
- onShow:正常使用該生命周期監(jiān)聽頁面顯示,包括后臺進前臺與路由跳轉(zhuǎn)進入
- destroyed:用組件生命周期代替onHide與onUnload,監(jiān)聽路由跳轉(zhuǎn)離開
- app.vue:
- onHide:應(yīng)用生命周期對整個應(yīng)用的前臺進入后臺進行監(jiān)聽,通過url區(qū)分不同頁面的埋點日志上傳
示例代碼
// 一級頁面-首頁 onShow() { this.$$DI.track('enter_page', { page_name: '首頁' }) }, onHide() { this.$$DI.track('leave_page', { page_name: '首頁' }) }, onUnLoad() { this.$$DI.track('leave_page', { page_name: '首頁' }) }, // 二級頁面 onShow() { this.$$DI.track('enter_page', { page_name: 'a頁面' }) }, destroyed() { this.$$DI.track('leave_page', { page_name: 'a頁面' }) } // app.vue onHide() { let page_name // 根據(jù)需要監(jiān)聽的頁面路由進行判斷添加 if(window.location.href.includes('basic')) page_name = 'a頁面' if(page_name) { this.$$DI.track('leave_page', { page_name }) } },
總結(jié)
到此這篇關(guān)于uni-app的h5頁面中onHide/onUnload方法不觸發(fā)的問題解決方法的文章就介紹到這了,更多相關(guān)uni-app onHide/onUnload方法不觸發(fā)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Javascript操縱Cookie實現(xiàn)購物車程序
Javascript操縱Cookie實現(xiàn)購物車程序...2007-02-02js對象實例詳解(JavaScript對象深度剖析,深度理解js對象)
下面小編就為大家?guī)硪黄猨s對象實例詳解(JavaScript對象深度剖析,深度理解js對象)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-09-09JavaScript 輪播圖和自定義滾動條配合鼠標(biāo)滾輪分享代碼貼
本文給大家分享一段js輪播圖和自定義滾動條的代碼片段,布局和樣式小編沒給大家多介紹,大家可以根據(jù)個人需求優(yōu)化,具體實現(xiàn)代碼,大家可以參考下面代碼片段2016-10-10javascript實現(xiàn)數(shù)組最大值和最小值的6種方法
比較數(shù)組中數(shù)值的大小是比較常見的操作,本文主要介紹了javascript實現(xiàn)數(shù)組最大值和最小值的6種方法,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05如何在JavaScript中創(chuàng)建具有多個空格的字符串?
這篇文章主要介紹了如何在JavaScript中創(chuàng)建具有多個空格的字符串?,需要的朋友可以參考下2020-02-02基于JS正則表達(dá)式實現(xiàn)模板數(shù)據(jù)動態(tài)渲染(實現(xiàn)思路詳解)
這篇文章主要介紹了基于JS正則表達(dá)式實現(xiàn)模板數(shù)據(jù)動態(tài)渲染 ,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03