var*_*tis 25 javascript onbeforeunload window.onunload
显然,window.onbeforeunload已经遇到了Chrome的问题,正如我从遇到的所有问题中看到的那样.最近的工作是什么?
我唯一接近工作的是这个:
window.onbeforeunload = function () { return "alert" };
Run Code Online (Sandbox Code Playgroud)
但是,如果我用"alert"("blah")之类的东西替换返回"alert",我从Chrome中得不到任何结果.
我在这个问题中看到谷歌有意阻止了这一点.对他们有好处......但如果有人关闭窗口我想要进行AJAX调用怎么办?在我的情况下,我想知道有人离开我的网站上的聊天室,由窗口关闭发出信号.
我想知道是否有办法
(a):修复window.onbeforeunload调用以便我可以将AJAX放在那里
或
(b):获取一些其他方法来确定Chrome窗口已关闭
var*_*tis 14
回答:
$(window).on('beforeunload', function() {
var x =logout();
return x;
});
function logout(){
jQuery.ajax({
});
return 1+3;
}
Run Code Online (Sandbox Code Playgroud)
有点混搭,但它对我有用.1 + 3确保正在调用注销功能(当你试图离开时,如果它在弹出窗口上成功,你会看到4).
Tre*_*nis 11
从 Chrome 114.0.5735.198 和 Edge 100.0.1185.29 开始,Chromium 尚未达到标准。已提交错误报告,但审核被放弃。
window.addEventListener('beforeunload', function (e) {
// Cancel the event as stated by the standard.
e.preventDefault();
// Chrome requires returnValue to be set.
e.returnValue = '';
});
window.location = 'about:blank';Run Code Online (Sandbox Code Playgroud)