vue单点登录时,关闭浏览器窗口退出登录,直接上代码!
在APP.vue文件里
data() {
return {
gap_time: 0,
beforeUnload_time: 0,
};
},
mounted() {
// 监听浏览器关闭
window.addEventListener("beforeunload", () => this.beforeunloadHandler());
window.addEventListener("unload", () => this.unloadHandler());
},
methods: {
// 关闭窗口之前执行
beforeunloadHandler() {
this.beforeUnload_time = new Date().getTime();
},
unloadHandler() {
this.gap_time = new Date().getTime() - this.beforeUnload_time;
//判断是窗口关闭还是刷新 毫秒数判断 网上大部分写的是5
if (this.gap_time <= 10) {
this.logOut(); // 退出登录接口
}
},
},
destroyed() {
// 移除监听
window.removeEventListener("beforeunload", () => this.beforeunloadHandler());
window.removeEventListener("unload", () => this.unloadHandler());
},