Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Safari页面刷新后未触发beforeunload事件_Javascript_Jquery_Safari_Jquery Events - Fatal编程技术网

Javascript Safari页面刷新后未触发beforeunload事件

Javascript Safari页面刷新后未触发beforeunload事件,javascript,jquery,safari,jquery-events,Javascript,Jquery,Safari,Jquery Events,如果用户未保存更改就离开页面,我会尝试向用户添加警告,目前这是通过在某些事件上设置isEdited和isSubmitButtonClicked变量来实现的, 让我们假设isEdited为True,而isSubmitButtonClicked为false 这在所有情况下都适用于Chrome/Firefox,但在Safari中它第一次起作用,当警报显示时,我可以单击“离开页面”,然后导航回同一页面,尝试进行另一次更改并离开页面,但这次警报没有显示 这只是Safari的问题,有没有人有任何经验或想法我

如果用户未保存更改就离开页面,我会尝试向用户添加警告,目前这是通过在某些事件上设置
isEdited
isSubmitButtonClicked
变量来实现的, 让我们假设
isEdited
为True,而
isSubmitButtonClicked
为false

这在所有情况下都适用于Chrome/Firefox,但在Safari中它第一次起作用,当警报显示时,我可以单击“离开页面”,然后导航回同一页面,尝试进行另一次更改并离开页面,但这次警报没有显示

这只是Safari的问题,有没有人有任何经验或想法我可以试试

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

我似乎记得卸载前的一些事情,除非用户先点击浏览器窗口,否则它不会启动