繁体   English   中英

在离开/关闭标签之前确认?

[英]Confirmation before leaving/closing of tab?

我试图在用户关闭选项卡或转到另一个选项卡(如 facebook、gmail、GoDaddy 和其他人)之前显示一个确认弹出窗口。

我的代码适用于 Firefox,但不适用于 chrome、safari 等其他浏览器。

<script type="text/javascript">
      var hook = true;
      window.onbeforeunload = function() {
        if (hook) {
          return "Did you save"
        }
      }
      function unhook() {
        hook=false;
      }
    </script>

在单击按钮和链接时调用 unhook()

<a href="http://example.com" onClick="unhook()">No Block URL</a>

请帮我解决这个问题。

如果您查看window.beforeunload()api ,您可以看到,虽然广泛支持基本卸载事件,但自定义消息只能在 Internet Explorer 和某些浏览器的某些版本中设置。 所以只需使用普通的标准消息。

此功能(自定义消息)经常被恶意站点利用,以有害或恶意的方式与用户交互。 这就是为什么许多浏览器不再支持这一点的原因,直到某些补丁消除了对用户的威胁。

标准消息解决方案:

window.addEventListener('beforeunload', function (e) {
  // Cancel the event
  e.preventDefault();
  // Chrome requires returnValue to be set
  e.returnValue = '';
});

看看Ouibounce它有助于检测用户何时即将离开页面(它查看光标的位置)。 你可能可以建立这个库。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM