在safari上页面刷新后没有触发的beforeunload事件

时间:2018-01-03 22:41:36

标签: javascript jquery javascript-events safari

所以我试图在用户离开页面而不保存更改的情况下向用户添加警告,目前通过在某些事件上设置isEdited和isSubmitButtonClicked变量来实现, 假设isEdited为True且isSubmitButtonClicked为false。

这适用于所有情况下的chrome / firefox在safari中它第一次工作,其中警报显示,我可以单击离开页面然后导航回同一页面尝试进行另一个更改并离开页面和这次警报没有显示出来。

这只是野生动物园的一个问题,有没有人可以尝试任何经验或想法?

$(window).bind('beforeunload', function (e) {
    if (isEdited && !isSubmitButtonClicked) {
        var confirmationMessage = 'test';
        (e || window.event).returnValue = confirmationMessage;
        return confirmationMessage;
    }
    isSubmitButtonClicked = false;
});

1 个答案:

答案 0 :(得分:1)

除非用户首先点击浏览器窗口,否则我似乎还记得有关beforeunload的内容,除非用户点击进入浏览器窗口。