html5 onbeforeonload,window属性:onbeforeunload

onbeforeunload属性

WindowEventHandlers.onbeforeunload事件处理程序属性包含在发送beforeunload时执行的代码。这个事件在窗口即将到达unload(卸载)其资源时触发。该文件仍然可见,并且该事件仍可取消。

注意:为了防止不需要的弹出窗口,一些浏览器不会显示在beforeunload事件处理程序中创建的提示,除非该页面已与之交互;有些根本不显示它们。

onbeforeunload属性语法window.onbeforeunload = funcRef

funcRef是对函数或函数表达式的引用。

该函数应该为Event对象的returnValue属性分配一个字符串值并返回相同的字符串。

onbeforeunload属性示例window.onbeforeunload = function(e) {

var dialogText = 'Dialog text here';

e.returnValue = dialogText;

return dialogText;

};

笔记

当此事件返回(或将returnValue属性设置为)除null或者undefined之外的值时,系统将提示用户确认页面卸载。在某些浏览器中,事件的返回值显示在此对话框中。从Firefox 4,Chrome 51,Opera 38和Safari 9.1开始,将显示一个不受网页控制的通用字符串,而不是返回的字符串。

例如:

Firefox显示字符串“此页面要求您确认您要离开 - 您输入的数据可能无法保存。”

Chrome会显示字符串“您想离开本网站吗?您所做的更改可能无法保存”;

Internet Explorer不尊重null返回值,并将其作为“null”文本显示给用户。您必须使用undefined跳过提示。

自2011年5月25日,调用到HTML5规范状态的window.alert(),window.confirm()和window.prompt()方法可以在此事件中被忽略。

另请注意,各种浏览器忽略事件的结果,并且根本不要求用户进行确认。该文件将始终自动卸载。Firefox在about:config中有一个名为dom.disable_beforeunload的开关来启用此行为。

你可以并且应该通过window.addEventListener()和beforeunload事件来处理此事件。

绑定到此事件可用于防止浏览器在JavaScript呈现内容的情况下完全缓存页面。在某些情况下,当为了填充内容而返回到已执行javascript的页面时,您可能会发现返回时返回访问时JavaScript没有运行。如果window.onbeforeunload已被绑定(并因此在离开该页面时触发),则页面中的javascript将在随后的回访中被触发并因此更新内容。

规范

该事件最初由Microsoft在Internet Explorer 4中引入,并在HTML5规范中进行了标准化。

规范

状态

注释

HTML Living Standard

该规范中的'GlobalEventHandlers'的定义。

Living Standard

HTML 5.1

该规范中的'GlobalEventHandlers'的定义。

Recommendation

HTML5

该规范中的'GlobalEventHandlers'的定义。

Recommendation

浏览器兼容性

电脑端

移动端

Chrome

Edge

Firefox

Internet Explorer

Opera

Safari

Androidwebview

Chrome for Android

Edge Mobile

适用于Firefox for Android

Opera for Android

iOS Safari

基本支持

支持:1

支持是的

支持:1

支持:4

支持:12

支持:3

支持

支持

支持

支持

不支持

已删除自定义文本支持

支持:51

不支持

支持:44

支持:38

支持:9

支持:51

支持:51

支持

支持:44

支持:38

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值