sucerr() {
//切屏弹框
let boo = null
let time = null
let booTime = true
document.addEventListener('visibilitychange', (e) => {
let state = document.visibilityState
if (state == 'hidden') {
if (boo) {
clearTimeout(boo)
boo = setTimeout(() => {
clearInterval(time)
time = setInterval(() => {
this.screenTime += 1//记录切屏次数
if (this.screenTime >= 3) {//大于3秒为切屏
clearInterval(time)
this.screen()//自己写的弹框方法
this.screenTime = 0
this.booTime = false
}
}, 1000)
}, 300)
} else {
boo = setTimeout(() => {
clearInterval(time)
time = setInterval(() => {
console.log(2)
this.screenTime += 1//记录切屏次数
if (this.screenTime >= 3) {//大于3秒为切屏
clearInterval(time)
this.screen()
this.screenTime = 0
this.booTime = false
}
}, 1000)
}, 300)
}
}
if (state == 'visible') {
clearInterval(time)
if (booTime) {
if (this.screenTime >= 3) {//大于3秒为切屏
this.screen()
}
this.screenTime = 0
}
}
})
window.onblur = () => {
if (boo) {
clearTimeout(boo)
boo = setTimeout(() => {
clearInterval(time)
time = setInterval(() => {
this.screenTime += 1//记录切屏次数
if (this.screenTime >= 3) {//大于3秒为切屏
clearInterval(time)
this.screen()
this.screenTime = 0
this.booTime = false
}
}, 1000)
}, 300)
} else {
boo = setTimeout(() => {
clearInterval(time)
time = setInterval(() => {
console.log(4)
this.screenTime += 1//记录切屏次数
if (this.screenTime >= 3) {//大于3秒为切屏
clearInterval(time)
this.screen()
this.screenTime = 0
this.booTime = false
}
}, 1000)
}, 300)
}
}
window.onfocus = () => {
clearInterval(time)
if (booTime) {
if (this.screenTime >= 3) {//大于3秒为切屏
this.screen()
}
this.screenTime = 0
}
}
},
VUE记录用户切屏次数并弹出提示
于 2022-04-20 10:12:45 首次发布