问题 在Java Script中关闭窗口之前显示警告消息


我试过这个:

<body onunload="LogoutNoAsk();"> </body>

功能是:

function LogoutNoAsk()
{
    alert("Please press the Logout button to logout.");
    parent.close();

}

当我按下窗口右上角的“X”按钮时,它会直接关闭而不显示警告信息。怎么了?


8247
2018-03-20 03:18


起源



答案:


你真的想要使用 onbeforeunload 允许您阻止关闭事件的事件。

MDN参考 有关详细信息,但所需的代码将是:

window.onbeforeunload = function(e) {
    return 'Please press the Logout button to logout.';
};

15
2018-03-20 03:21



你的意思是我必须把这一行:window.onbeforeunload = function(e){return'请按Logout按钮注销。';};,进入我的LogoutNoAsk()函数? - Coolguy
我试过了,它仍然允许用户在“留在页面上”或“离开页面”之间进行选择。我们可以不要求用户选择吗?我只想用OK按钮发出警告信息。 - Coolguy
不,你无法控制对话框的选项,这是浏览器控制的。至于位置,你可以改变 LogoutNoAsk 返回并改变 DOM 有一个 onbeforeunload 属性不是 onunload 或者您可以使用JS连接事件处理程序。 - Aaron Powell


答案:


你真的想要使用 onbeforeunload 允许您阻止关闭事件的事件。

MDN参考 有关详细信息,但所需的代码将是:

window.onbeforeunload = function(e) {
    return 'Please press the Logout button to logout.';
};

15
2018-03-20 03:21



你的意思是我必须把这一行:window.onbeforeunload = function(e){return'请按Logout按钮注销。';};,进入我的LogoutNoAsk()函数? - Coolguy
我试过了,它仍然允许用户在“留在页面上”或“离开页面”之间进行选择。我们可以不要求用户选择吗?我只想用OK按钮发出警告信息。 - Coolguy
不,你无法控制对话框的选项,这是浏览器控制的。至于位置,你可以改变 LogoutNoAsk 返回并改变 DOM 有一个 onbeforeunload 属性不是 onunload 或者您可以使用JS连接事件处理程序。 - Aaron Powell