javascript - 如何识别onbeforeunload是点击关闭按钮引起的

标签 javascript internet-explorer onbeforeunload

我如何确定 onbeforeunload 是由单击关闭按钮或页面刷新引起的,还是通常是由什么事件引起的?

这是一个片段:

window.onbeforeunload = function( e ){
    if( !e ) e = window.event;

    // insert code to determine which is the source of the event
}

请帮帮我。

最佳答案

引用各种文章并进行一些试验和错误,最终形成了这个想法,它非常适合我,就像我希望它发生的方式一样。它实现的逻辑也很简单。这个想法是检测关闭浏览器触发的卸载事件。在这种情况下,鼠标将在窗口外,指向 Close('X') 按钮。

$(window).on('mouseover', (function () {
    window.onbeforeunload = null;
}));


$(window).on('mouseout', (function () {
    window.onbeforeunload = ConfirmLeave;
}));

function ConfirmLeave() {
    return "";
}

ConfirmLeave 函数会给出弹出的默认消息,如果需要自定义消息,返回要显示的文本而不是空字符串

看看这是否有帮助,:)

关于javascript - 如何识别onbeforeunload是点击关闭按钮引起的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54764412/

相关文章:

javascript - NaN 算作假?

javascript - 如何使用 xmlhttprequest 将值作为变量传输?

javascript - 我应该使用 IE 9's "IE8 文档模式”来调试 IE8 支持吗?

javascript - 如果用户使用 onbefoerunload 导航,如何在 jexcel 单元格发生更改时发出警报

jquery - 单击离开页面按钮后页面重新加载后,beforeunload 在 Safari 9.1 中不起作用

javascript - Chrome 中的 window.onbeforeunload : what is the most recent fix?

javascript - 为数组 Generator JS 中的每个项目生成产量

javascript - 使用 jquery 对图像进行源代码控制?

internet-explorer - Console.log在IE中刚刚输出的对象上[object Object]

html - HTML 页面中的连字符列表在 IE 8 中不起作用