在页面卸载之前调用事件

时间:2010-09-13 09:57:03

标签: javascript html

我想在卸载html页面之前弹出一个对话框,要求卸载页面。如果选择yes,则继续卸载,如果选择no,则取消卸载事件。

1 个答案:

答案 0 :(得分:23)

您无法将文本设置为“是”/“否”(在大多数浏览器中它将为“确定”/“取消”),但您可以在离开页面时提示(使用时请小心)以任何方式使用window.onbeforeunload,如下所示:

window.onbeforeunload = function() {
  return "Are you sure you wish to leave the page?";
}

如果您有充分的理由,请仅使用此功能,不要惹恼您的用户。话虽这么说,这将在离开页面时提示,包括历史记录返回,转发,刷新,关闭窗口/选项卡,单击链接以导航或提交表单等等。所以你可能想在此时调用它去某个不应该提示的地方:

window.onbeforeunload = null;

例如,提交一种信息形式,您希望在离开/丢失数据时提示,但在实际提交时却不提示。