概述
当窗口即将被卸载
时,会触发该事件.此时页面文档依然可见,且该事件的默认动作可以被取消
.
语法
window.onbeforeunload = funcRef
funcRef
是一个函数引用- 该函数应当将一个说明字符串赋值给
Event
对象的returnValue
属性(兼容旧版浏览器),并且返回该字符串 - 请注意,在Firefox4及其后续版本中,返回的说明字符串并不向用户显示,也就是无法自定义说明字符串.查看Bug 588292.
示例
window.onbeforeunload = function (e) { e = e || window.event; // 兼容IE8和Firefox 4之前的版本 if (e) { e.returnValue = '关闭提示'; } // Chrome, Safari, Firefox 4+, Opera 12+ , IE 9+ return '关闭提示'; };
附注
当该事件处理函数返回一个非空的值时,会有一个弹窗提示让用户决定是否要关闭该页面.在大多数浏览器中,返回值会转换为字符串显示在弹窗上.
从2011年5月25日起, HTML5 规范 声明:在该事件的处理函数中调用下列弹窗相关的方法时,可以忽略不执行,window.showModalDialog()
, window.alert()
, window.confirm()
window.prompt()
.
浏览器兼容性
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | 1 | 1 | 4 | 12 | 3 |
Feature | Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Basic support | ? | ? | ? | ? | ? |
规范
该事件最初是由微软公司的IE4引进,虽然没有公开的规范说明,但所有浏览器都支持该事件.
目前已被添加至HTML5规范草案中.