浏览器多个Tab都打开了一个网站,如何监听所有网站都关闭了?

浏览器多个Tab都打开了一个网站,如何监听所有网站都关闭了?

window.onunload只能监听一个tab,如何知道该网站的所有tab都关闭了?


回答:

直接监听不了, 也许这个可以派上用场
https://developer.mozilla.org...


回答:

可以通过 storage 事件实现。

在网页每次打开的时候,在 localStorage 中累加标记,比如

let num = localStorage.getItem('pageInstanceNum') || 0

num += 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

回到顶部