我有一个 ts 文件,其中我编写了一个注销函数:
private addListenersForLogout() {
if (this._logoutDiv) {
this._logoutDiv.addEventListener("click", (e) => {
DataManager.getDataManager().geHttpDataHandler().postRequest("", HTMLFactory.POST_USER_LOGOUT, () => {
window.location.href = Constants.LOGIN;
}, () => {
Console.log("Failed");
})
})
}
}
这里,this._logoutDiv
是一个 div 元素,我在其中添加了点击监听器。当用户单击它时,将调用一个后端 API,并根据响应重定向到登录页面。但是,一旦我单击它并收到后端的响应后,它就会显示一个离开站点的警报框。我怎样才能删除它?或者是否有 window.location.href
的替代方案来重定向??
谢谢
最佳答案
此对话框并非来自您在此处发布的代码:某些内容正在 Hook 到网站其他位置的 onbeforeunload 事件。
您要么需要跳过添加它,要么可以在导航之前将其删除。为此,您需要使用与调用 addEventListener 相同的函数(和事件类型)来调用 window.removeEventListener。
作为解决方法,您可以尝试在重定向之前添加此内容:
window.onbeforeunload = null;
关于javascript - 如何消除javascript中 "Leave Site"的警报?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63702600/