【发布时间】:2013-12-23 09:34:48
【问题描述】:
我正在使用window.onbeforeunload 在发生关闭事件时弹出确认对话框,但确认对话框出现在页面刷新时并且不会在页面关闭时执行。
这是 JavaScript 代码:
<script language="JavaScript">
window.onbeforeunload = confirmWinClose();
function confirmWinClose() {
var confirmClose = confirm('Close?');
return confirmClose;
}
</script>
我在 Chrome、Firefox 和 Internet Explorer 上尝试过。
【问题讨论】:
-
只是关心可能设置 window.onbeforeunload = confirmWinClose();这个导致的问题改为设置它 window.onbeforeunload = confirmWinClose;
-
好的,这会阻止代码在页面刷新时执行,但它仍然不会在页面关闭时执行!!
-
您不能在
onbeforeunload中使用confirm。这不是它的工作原理。您需要让onbeforeunload返回一个字符串。该字符串将由浏览器在其自己的确认框中显示。onbeforeunload不同于“正常”事件。 -
您实际上可以做到这一点。确认对话框将简单地使用确认中的文本...confirm('[this text]')。就像返回一个字符串一样。他们会做同样的事情。