目前测试安卓可以监听到所有,ios不能监听到微信杀进程
import { onMounted, onUnmounted } from 'vue'
export const pageCloser = (callBack) => {
onMounted(() => {
window.addEventListener('visibilitychange', visibilitychangeFun, false)
window.addEventListener('onbeforeunload', onbeforeunloadFun, false)
})
onUnmounted(() => {
// 切路由
callBack?.()
window.removeEventListener('visibilitychange', visibilitychangeFun)
window.removeEventListener('onbeforeunload', onbeforeunloadFun)
})
function visibilitychangeFun () {
if (document.visibilityState === 'visible') {
console.log('页面可见')
}
// 用户息屏、或者切到后台运行 (离开页面)
if (document.visibilityState === 'hidden') {
callBack?.()
}
}
function onbeforeunloadFun () {
callBack?.()
}
}