0

我在 Chrome 中确认退货有问题。在 Firefox 中是可以的。

window.onbeforeunload = function() {
    var result = confirm('Really?');

    if(result) {
        console.log('Do something');
    }
}

有任何想法吗?谢谢!

4

2 回答 2

5

你应该从beforeunload.

confirm被忽略

自 2011 年 5 月 25 日起,HTML5 规范规定在此事件期间可能会忽略对 window.showModalDialog()、window.alert()、window.confirm() 和 window.prompt() 方法的调用。

MDN

window.onbeforeunload = function() {
    return 'Date will be lost: are you sure?'; //<= here
}

如果您不返回某些内容,则处理函数中的操作会在页面卸载之前执行。

于 2013-01-03T12:46:30.067 回答
1

当用户试图离开页面时,您不能使用对话框(在某些浏览器中)。否则,您可以发出持续不断的警报。

于 2013-01-03T12:36:18.247 回答