浏览器多个Tab都打开了一个网站,如何监听所有网站都关闭了?
window.onunload只能监听一个tab,如何知道该网站的所有tab都关闭了?
回答:
直接监听不了, 也许这个可以派上用场
https://developer.mozilla.org...
回答:
可以通过 storage
事件实现。
在网页每次打开的时候,在 localStorage
中累加标记,比如
let num = localStorage.getItem('pageInstanceNum') || 0num += 1
localStorage.setItem('pageInstanceNum', num)
然后监听页面关闭的事件
window.onbeforeunload = function (e) { let num = localStorage.getItem('pageInstanceNum') || 0
num = num * 1 - 1
localStorage.setItem('pageInstanceNum', num)
}
最后就是你需要处理其他页面都已经关闭的逻辑了
window.onstorage = function(e) { let num = localStorage.getItem('pageInstanceNum') || 0
if (num <= 1) {
console.log(`其他页面都已经关闭`)
}
}
以上是 浏览器多个Tab都打开了一个网站,如何监听所有网站都关闭了? 的全部内容, 来源链接: utcz.com/p/935864.html