vue頁面監(jiān)聽是否置為后臺或可見狀態(tài)問題
更新時間:2023年10月21日 09:12:49 作者:鋼鐵熊貓33
這篇文章主要介紹了vue頁面監(jiān)聽是否置為后臺或可見狀態(tài)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
vue頁面監(jiān)聽是否置為后臺或可見狀態(tài)
使用場景
- 微信公眾號網(wǎng)頁中使用了彈幕,當(dāng)微信在后臺時,停止彈幕程序的執(zhí)行
- 頁面有定時任務(wù)執(zhí)行時,除了退出頁面要停止外,當(dāng)頁面在后臺時,也可以清除定時任務(wù),當(dāng)可見時,再重新啟動
推薦插件
vue-visibility-change
使用方式
安裝
npm i vue-visibility-change
全局使用
import Vue from 'vue' import visibility from 'vue-visibility-change' Vue.use(visibility) const listenPageVisible = visibility.change((evt, hidden) => { console.log('隱藏: ' + hidden) })
局部使用
<template> <div v-visibility-change="listenVisible"></div> </template> <script> export default { methods: { listenVisible(evt, hidden) { console.log('隱藏: ' + hidden) } } } </script>
h5監(jiān)聽頁面進(jìn)入后臺
方法:
export const pageChangeShowHide = function(){ let hidden,state,visibilityChange; if(typeof document.hidden !== 'undefined'){ hidden = 'hidden'; state = 'visibilityState'; visibilityChange = 'visibilitychange'; }else if(typeof document.mozHidden !== 'undefined'){ hidden = 'mozHidden'; state = 'mozvisibilityState'; visibilityChange = 'mozvisibilitychange'; }else if(typeof document.msHidden !== 'undefined'){ hidden = 'msHidden'; state = 'msvisibilityState'; visibilityChange = 'msvisibilitychange'; }else if(typeof document.webkitHidden !== 'undefined'){ hidden = 'webkitHidden'; state = 'webkitvisibilityState'; visibilityChange = 'webkitvisibilitychange'; } return { hidden,state,visibilityChange } }
頁面中使用:
this.$nextTick(() => { let { hidden, state, visibilityChange } = common.pageChangeShowHide() document.addEventListener(visibilityChange, ()=> { // 頁面變?yōu)榭梢姇r觸發(fā) if (document[state] == 'visible') { this.memberdayActivityInfo() } }); })
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
基于Vue3+UniApp在單個頁面實現(xiàn)固定TabBar的多種方式
tabBar 是移動端應(yīng)用常見的頁面效果,用于實現(xiàn)多頁面的快速切換,本文給大家介紹了如何基于Vue3+UniApp在單個頁面實現(xiàn)固定TabBar的多種方式,需要的朋友可以參考下2025-03-03ant-design-vue 實現(xiàn)表格內(nèi)部字段驗證功能
這篇文章主要介紹了ant-design-vue 實現(xiàn)表格內(nèi)部字段驗證功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-12-12element?el-tree折疊收縮的實現(xiàn)示例
本文主要介紹了element?el-tree折疊收縮的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08vue 中常用操作數(shù)組的方法(forEach()和reduce())
文章介紹了JavaScript中常用的操作數(shù)組方法,包括forEach()和reduce(),forEach()用于遍歷數(shù)組并對每個元素執(zhí)行操作,而reduce()則用于遍歷數(shù)組并進(jìn)行累加等迭代操作,感興趣的朋友一起看看吧2025-03-03VUE中computed 、created 、mounted的先后順序說明
這篇文章主要介紹了VUE中computed 、created 、mounted的先后順序說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03vue的Virtual Dom實現(xiàn)snabbdom解密
這篇文章主要介紹了vue的Virtual Dom實現(xiàn)- snabbdom解密,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-05-05