日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Vue 頁面監聽用戶預覽時間功能的實現代碼

瀏覽:173日期:2022-09-28 11:20:13

最近的業務中涉及到這樣一個需求,在線培訓的系統需要知道用戶對某個在線預覽的頁面追蹤用戶的預覽時長。初步我們首先想到借助 Vue 頁面的生命周期函數 mounted 和 destroyed,分別在其中加入開始計時和清除計時的邏輯,通過后臺的接口上報對應的培訓素材的時間數據,即可達到目的。

有了思路,我們就可以開始籌劃具體的代碼。

定義開始結束計時函數

在 data 中定義我們通過變量定義計時器,這樣可以通過 this.timer 隨處可訪問,便于后面銷毀頁面的時候清除它。

duration 為時長的計數變量,初始化為 0,可根據計時器的第二個時間間隔參數,決定單位是秒還是毫秒。

export default { data() { return { timer: null, duration: 0 } }, methods: { startTimer() { this.timer = setInterval(() => {console.log(’觀看時長: ’, this.duration)this.duration++ }, 1000) }, stopTimer() { clearInterval(this.timer) this.updateViewHistory() // 上報數據接口 }, updateViewHistory() { // 上報接口邏輯代碼 .... } }}

在 startTimer 函數中我們順便打印出 duration 變量來驗證顯示的時間是否正確。

如何以及在哪調用

定義好了開始結束的方法,我們就要開始想在哪調用它們。因為預覽的頁面內容不是唯一的,是根據素材的 id 來獲取詳情進行渲染的。如果我們把 startTimer 寫在 mounted 生命周期里,那么當我們訪問不同 id 的頁面的時候,無法正常切換我們想要的邏輯。

所以我選擇了通過監聽路由中的 id 參數,來達到在預覽不同頁面時候來切換開始和結束的邏輯

watch: { $route: { immediate: true, handler(to, from) {if (to.params.id) this.trainingId = to.params.idthis.startTimer() } } }

調用了開始計時的方法,終于我們可以在 console 的 log 中可以看到輸出了當前的時長

Vue 頁面監聽用戶預覽時間功能的實現代碼

然后也是最后一步,我們需要在頁面銷毀的時候調用 stopTimer 函數來清除定時器,上報數據。

由于我們的預覽頁面是通過 window.open 打開的獨立的標簽頁,所以這里是通過 destroyed 生命周期函數監聽。如果是通過路由方法進行的跳轉,那么我們需要在離開頁面的時候進行銷毀,方可再通過 destroyed 監聽到。

mounted() { window.addEventListener(’beforeunload’, e => this.beforeunloadHandler(e)) }, destroyed() { window.removeEventListener(’beforeunload’, e => this.beforeunloadHandler(e)) }

通過 window 的監聽器方法來來間接調用 stopTimer 方法

methods: { beforeunloadHandler (e) { this.stopTimer() }}

這里有人會問為什么不直接在 destroyed 中調用 stopTimer 方法,這樣可以分離出特有的邏輯,不與 destroyed 中其它的邏輯混在一起。提高代碼的可讀性和維護性。

在寫代碼的時候我們不僅要實現功能,還要想的更多一點,這就是普通和高手的區別。

到此這篇關于Vue 頁面監聽用戶預覽時間的文章就介紹到這了,更多相關Vue 監聽用戶預覽時間內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Vue
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
深夜福利视频一区二区| 日韩精品一级| 国产精品一页| 免费一级欧美在线观看视频| 亚洲久久视频| 欧美精品影院| 久久精品国产999大香线蕉| 粉嫩av一区二区三区四区五区| 四虎国产精品免费观看| 99久久久国产精品美女| 另类激情亚洲| 国产精品极品| 国产超碰精品| 久久久亚洲一区| 日本亚州欧洲精品不卡| 国产精品theporn| 久久久水蜜桃av免费网站| 亚洲在线观看| 国产乱人伦精品一区| 精品亚洲二区| 亚洲一级二级| 日本午夜精品久久久| 大香伊人久久精品一区二区| 亚洲精品一二三区区别| 91免费精品国偷自产在线在线| 蜜桃久久久久| 亚洲美洲欧洲综合国产一区| 日韩av不卡在线观看| 日韩久久精品| 日韩在线网址| 久久美女性网| 91成人在线网站| 久久久久久久久99精品大| 四虎精品一区二区免费| 狂野欧美性猛交xxxx| 亚洲国产影院| 国产精品一区二区免费福利视频| 亚洲1234区| 日本aⅴ精品一区二区三区 | 丝瓜av网站精品一区二区| 欧美国产极品| 亚洲欧美日本视频在线观看| 久久精品国产99| 在线精品亚洲| 国产精品二区不卡| 亚洲香蕉久久| 成人在线视频中文字幕| 亚洲人成毛片在线播放女女| 国产精品九九| 日av在线不卡| 日韩不卡视频在线观看| 国产日产高清欧美一区二区三区| 免费国产自久久久久三四区久久 | 久久精品国产久精国产| 热久久国产精品| 香蕉视频亚洲一级| 蜜桃精品视频| 三级欧美韩日大片在线看| 老鸭窝一区二区久久精品| 中文字幕免费精品| 狠狠操综合网| 日韩欧美精品| 久久精品九色| 国产精品一区毛片| 亚洲精品日韩久久| 亚洲一区黄色| 亚洲国产日韩欧美在线| 高清av一区| 国产精品美女久久久久久不卡| 鲁大师影院一区二区三区| 欧美亚洲国产一区| 精品国产免费人成网站| 精品午夜av| 91成人精品在线| 日韩精品视频在线看| 免费一级片91| 日韩精品一二三四| 久久不射网站| 鲁大师成人一区二区三区| 好吊日精品视频| jiujiure精品视频播放| 特黄特色欧美大片| 亚洲成av在线| 久久久久免费av| www成人在线视频| 鲁鲁在线中文| а√在线中文在线新版| 国产一区二区三区久久久久久久久| 97久久超碰| 欧美日韩亚洲一区三区| 国产日韩亚洲欧美精品| 国产日产高清欧美一区二区三区| 日本a级不卡| 国产日韩中文在线中文字幕| 日本va欧美va欧美va精品| 日韩成人午夜精品| 欧美日韩1区| 久久国产精品美女| 国产精品日本一区二区不卡视频| 国产剧情一区二区在线观看| 久久成人高清| 97在线精品| 91精品成人| 狠狠久久婷婷| 蜜臀va亚洲va欧美va天堂 | 欧美一区=区三区| 久久99免费视频| 国产免费播放一区二区| 久久影视三级福利片| 98精品久久久久久久| 欧美综合另类| 亚洲ww精品| 国产精品66| 中文字幕高清在线播放| 桃色一区二区| 在线综合视频| 日本午夜精品| 福利片在线一区二区| 欧美日韩色图| 伊人久久大香伊蕉在人线观看热v| 日韩综合一区二区| 麻豆精品在线观看| 久久九九电影| 亚洲一二三区视频| 精品视频高潮| 成人免费电影网址| 一区二区三区四区日韩| 美女高潮久久久| 国产一区欧美| 国产亚洲精品美女久久| 国产一区二区三区四区五区传媒| 婷婷成人综合| 97精品国产99久久久久久免费| 麻豆久久久久久| 国产精品88久久久久久| 日韩欧美中文字幕电影 | 精品国内亚洲2022精品成人| 日韩欧美一区二区三区在线观看 | 亚洲主播在线| 麻豆精品av| 亚洲欧美网站| 国语精品一区| 亚洲精品伊人| 久久蜜桃精品| 国产精品三p一区二区| 精品在线91| 麻豆精品在线观看| 久久国产精品久久久久久电车| 美女视频黄免费的久久| 国产亚洲精品v| 国产91欧美| 亚洲深深色噜噜狠狠爱网站 | 久久字幕精品一区| 亚洲一区中文| 精品久久久网| 综合激情一区| 日韩久久一区二区三区| 日韩高清电影免费| 欧美特黄一区| 日韩.com| 国产伦精品一区二区三区千人斩| 亚洲二区三区不卡| 国产成人免费视频网站视频社区| 亚洲精品乱码| 日韩午夜精品| 日韩大片在线观看| 欧美一区自拍| 老鸭窝毛片一区二区三区| 中文字幕成在线观看| 国产精品一国产精品k频道56| 一区在线免费观看| 黑人精品一区| 欧美激情福利| 91精品国产一区二区在线观看 | 在线视频日韩| 日韩不卡免费高清视频| 欧美极品一区二区三区| 亚洲精品激情| 亚洲在线电影| 日韩毛片在线| 国产精品二区不卡| 国产精品magnet| 欧美欧美黄在线二区| 综合五月婷婷| 美女精品一区| 亚洲一级在线| 国产麻豆综合| 国产精品三上| 亚洲欧美激情诱惑| 国产视频一区免费看| 香蕉国产精品| 五月精品视频| 精品日韩毛片| 久久一级电影| 日韩精品麻豆| 久久久人人人| 午夜国产精品视频| 红桃视频亚洲| 亚洲一区欧美激情| 中文精品在线|