Javascript 在浏览器上重新加载/刷新/关闭警报,然后是ajax

Javascript 在浏览器上重新加载/刷新/关闭警报,然后是ajax,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,是否可以在浏览器关闭时发出警报?如果用户确认“重新加载/关闭”,则希望执行一些ajax内容。这是我迄今为止尝试过的 window.onbeforeunload = function () { return 'This will close your chat session. Are you Sure!'; var meta_id = $('#meta_id').val(); $.ajax({ url: site_url + '/chat/send_off

是否可以在浏览器关闭时发出警报?如果用户确认“重新加载/关闭”,则希望执行一些ajax内容。这是我迄今为止尝试过的

window.onbeforeunload = function () {
    return 'This will close your chat session. Are you Sure!';
    var meta_id = $('#meta_id').val();
    $.ajax({
        url: site_url + '/chat/send_offline',
        type: 'post',
        cache: false,
        async: false,
        data: {
            meta_id: meta_id
        }
    });
}

据我所知,在
return
语句之后不执行代码那么,如果用户确认,是否可以同时发出警报并执行ajax代码???

chrome.runtime.onSuspend或chrome.windows.onRemoved可能会对您有所帮助

这是我在


在返回函数之前,必须调用Ajax。因为return会中断函数的执行。

firefox呢?如何使用它?链接到文档?您想使用
confirm()
而不是
return
@Justinas In
onbeforeuload
事件
confirm()
alert()
不起作用实际上,某些web应用在运行表单或进行http调用时出现“是否要关闭此窗口”错误。我认为您可以搜索如何激活它这不会解决问题,因为如果用户关闭浏览器并在ajax调用后显示警告消息,则所有操作都将出错(如果用户取消关闭浏览器),似乎无法捕获用户的anwser。但是您可以使用unload事件进行Ajax调用!
window.addEventListener("beforeunload", function (e) {
  var confirmationMessage = "Do you want to leave this page ?";

  // Call AJAX RIGHT HERE

  e.returnValue = confirmationMessage;     // Gecko and Trident
  return confirmationMessage;              // Gecko and WebKit
});