Javascript 捕获浏览器窗口(仅限)关闭事件

Javascript 捕获浏览器窗口(仅限)关闭事件,javascript,jquery,Javascript,Jquery,参考: 我尝试在Chrome版本65.0.3325.181中执行上述代码 它工作正常,即重定向或提交表单时弹出窗口未打开, 我只想在用户关闭选项卡时显示弹出窗口,有时浏览器会显示弹出窗口,但有时选项卡会关闭而不显示弹出窗口。 我不知道为什么会这样 @LGSon我不必存储任何值,我只需显示一个包含whishlist数据(如果有)的弹出窗口,否则选项卡将关闭。在这些情况下,如果它没有按照您的预期工作,您是否检查了inFormOrLink当时包含的内容? var inFormOrLink; $('

参考:

我尝试在Chrome版本65.0.3325.181中执行上述代码 它工作正常,即重定向或提交表单时弹出窗口未打开, 我只想在用户关闭选项卡时显示弹出窗口,有时浏览器会显示弹出窗口,但有时选项卡会关闭而不显示弹出窗口。
我不知道为什么会这样

@LGSon我不必存储任何值,我只需显示一个包含whishlist数据(如果有)的弹出窗口,否则选项卡将关闭。在这些情况下,如果它没有按照您的预期工作,您是否检查了
inFormOrLink
当时包含的内容?
  var inFormOrLink;
$('a').on('click', function () { inFormOrLink = true; });
$('form').on('submit', function () { inFormOrLink = true; });

$(window).on('beforeunload', function (eventObject) {
  var returnValue = undefined;
  if (!inFormOrLink) {
    returnValue = "Do you really want to close?";
  }
  if (returnValue != undefined) {
    eventObject.returnValue = returnValue;
    return returnValue;
  }
});