是否可以在窗口卸载之前打开单个自定义弹出窗口

Is it possible to open SINGLE custom pop up before window unload

本文关键字:窗口 单个 自定义 卸载 是否      更新时间:2023-09-26

我想提示用户注销或保持登录状态。我尝试使用以下代码,但找不到正确的解决方案:

window.onbeforeunload = function (e) {
          var e = e || window.event;
          // For IE and Firefox
          if (e) {
            e.returnValue = 'Any string';
          }
            alert(doLogout());
          // For Safari
          return 'Any string';
        };
        function doLogout(){
            var r=confirm("Press a button!");
            alert("confirmResponse: " + r);
            return r;
        }

当我尝试关闭选项卡/窗口时,它只是要求"此页面要求您确认要离开 - 您输入的数据可能无法保存"。在我的代码中,首先应该弹出确认对话框,这并没有发生。

有什么解决方案吗?

由于安全原因,它不会执行 alert()。这种防止用户离开页面的策略被"互联网坏人"经常使用,因此大多数浏览器都阻止了它。在onunloadonbeforeunload中,您唯一能做的就是传递一个应该向用户显示的字符串,然后再决定留下或离开页面。你应该把你的消息放在'Any string'的位置。这对用户来说应该足够了。