BeforeUnloadEvent

beforeunload 事件被触发, 在 window、document 和它们的资源将要被卸载时。 

当 Event 的 returnValue 属性被赋值为非空字符串时,会弹出一个对话框,让用户确认是否离开页面(示例如下)。否则,事件被静默处理。

Bubbles No
Cancelable Yes
Target objects defaultView
Interface Event

示例

window.addEventListener("beforeunload", function( event ) {
  event.returnValue = "\o/";
});
//等同于
window.addEventListener("beforeunload", function( event ) {
  event.preventDefault();
});

基于 Webkit 的浏览器没有遵循该弹窗规范。以下是一个基本跨浏览器运行的例子。

window.addEventListener("beforeunload", function (e) {
  var confirmationMessage = "\o/";
  (e || window.event).returnValue = confirmationMessage;     //Gecko + IE
  return confirmationMessage;                                //Webkit, Safari, Chrome etc.
});

相关链接

文档标签和贡献者