繁体   English   中英

是否有任何条件只有在javascript中按下浏览器关闭(x)时才能检测到?

[英]Is there any condition to detect only when browser close (x) is pressed in javascript?

我正在使用beforeunload函数,它工作正常但如果我按下我的页面中的任何按钮或链接它也会激活。 只按下关闭(x)按钮时触发事件的方法是什么? 我的代码:

window.addEventListener("beforeunload", function (e) {
    $.ajax({
        url: 'logout.php',
        type: 'POST',
        async: false,
        timeout: 4000
    });
});

在关闭,刷新,表单提交或链接印刷之间无法区分100%。 如果您真的需要这个,您可以根据以下结果估算结果:

  • 光标的位置。 如果它位于Mozilla或Chrome的右上角,则意味着按下了X. Safari的左上角等

  • 也许将点击事件添加到所有<a> html标记以将FLAG设置为true。

  • <form>等其他类似标签相同,可以将用户重定向到其他网站。

  • 抓住按键事件以查找按键F5的按键。

即便如此,你也无法确定。 如果使用只是关闭标签,或者他点击重新加载按钮你可能会弄错,但至少给你一个近似值。

截至2016年初,无法检测到这些行为。

暂无
暂无

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

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