Javascript 如何仅在浏览器关闭时调用函数
我有一种情况,只有当浏览器关闭时,我才想清除用户前端会话,如果同一系统的一些选项卡打开,其中一个关闭,我不想做任何事情,如果有页面刷新,我也不想做任何事情,只是在浏览器关闭或所有选项卡关闭时,让我向您展示我的代码 App.vueJavascript 如何仅在浏览器关闭时调用函数,javascript,vuejs2,vuex,Javascript,Vuejs2,Vuex,我有一种情况,只有当浏览器关闭时,我才想清除用户前端会话,如果同一系统的一些选项卡打开,其中一个关闭,我不想做任何事情,如果有页面刷新,我也不想做任何事情,只是在浏览器关闭或所有选项卡关闭时,让我向您展示我的代码 App.vue async created() { window.addEventListener("beforeunload", this.handler); } methods:{ handler(){// eslint-
async created() {
window.addEventListener("beforeunload", this.handler);
}
methods:{
handler(){// eslint-disable-line no-unused-vars
console.log("here");
sessionMixin.methods.clearSession();
return null;
}
}
虽然这确实有效,但问题是每次刷新和关闭选项卡时都会调用它,这会让用户注销,我不希望这样,有没有办法区分页面刷新/选项卡关闭/浏览器关闭?或其他内容?在Vue中捕获浏览器的关闭事件,以检查是否必须关闭浏览器。当然,这应该是有效的。这是你至少能做的。但不能完全与关闭事件一起工作。您可以与用户进行检查,而不是覆盖。这是JavaScript的已知问题,而不是vue。现在浏览器中有一个设置,允许用户在关闭浏览器进程之前完成要完成的后台任务。这与我们无关,为什么创建了
异步?@evolutionxbox它包含一些异步后端请求。@Gary你在include事件中失去了我!你能再来一次吗?@uneebmeer我认为浏览器没有能力知道标签关闭和重新加载之间的区别。这两种方式的效果都相同,只是重新加载也会再次加载页面。