onbeforeunload事件_pageload事件何时触发

onbeforeunload事件_pageload事件何时触发beforeunload事件简介当窗口,文档及其资源即将卸载时,将触发该事件。该文档仍然可见,此时事件仍可取消。如果为returnValueEvent属性分配了一个字符串,则会出现一个对话框,要求用户确认离开该页面(参见下面的示例)。IE浏览器在对话框中显示返回的字符串,但其他浏览器会显示自己的消息。如果未提供任何值,则以静默方式处理事件。注意:为了防止不需要…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

beforeunload事件

简介

当窗口,文档及其资源即将卸载时,将触发该事件。该文档仍然可见,此时事件仍可取消。

如果为returnValueEvent属性分配了一个字符串,则会出现一个对话框,要求用户确认离开该页面(参见下面的示例)。IE浏览器在对话框中显示返回的字符串,但其他浏览器会显示自己的消息。如果未提供任何值,则以静默方式处理事件。

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

PS:如果进入当前页面后没有用户没有与页面进行任何交互(比如鼠标在页面上点击),直接关掉或者刷新当前页面是没有弹窗提示。一定要与页面进行交互之后,才能在页面卸载的时候弹出确认离开的对话框;没有进行页面交互,也是会触发beforeunload事件的,只是不会弹出确认离开的对话框

语法

//通用
window.onbeforeunload = function (event) {};
//IE9+
window.addEventListener("beforeunload", function (event) {});

Jetbrains全家桶1年46,售后保障稳定

beforeunload事件对象属性

属性 类型 描述
target 只读 EventTarget 事件目标(DOM树中最顶层的目标)。
type 只读 DOMString 事件的类型。
bubbles 只读 Boolean 事件通常会冒泡吗?
cancelable 只读 Boolean 可以取消活动吗?
returnValue[1] DOMString 事件的当前返回值(显示用户的消息)。

[1]为了防止网站欺骗用户,谷歌浏览器和火狐浏览器已经废弃设置returnValue,谷歌浏览器和火狐浏览器弹窗只显示各自系统通用字符串,忽略自定义字符串,IE依然可以显示自定义字符串,Edge(IE12+)依然可以显示自定义字符串。

PS:不用再怀疑为什么设置了returnValue没有效果了。

Google声明:

https://developers.google.com/web/updates/2016/04/chrome-51-deprecations?hl=en#remove_custom_messages_in_onbeforeunload_dialogs

示例

window.onbeforeunload = function (event) {
  event = event || window.event;
  event.returnValue = "xxxxxxx";
};

window.addEventListener("beforeunload", function (event) {
  event = event || window.event;
  event.returnValue = "xxxxxxx";
});

window.addEventListener("beforeunload", function (event) {
  event = event || window.event;
  event.preventDefault();
});

事件触发场景

  1. 关闭浏览器窗口
  2. 通过地址栏或收藏夹前往其他页面的时候
  3. 点击返回,前进,刷新,主页其中一个的时候
  4. 点击 一个前往其他页面的url连接的时候
  5. 使用document.write() 方法(输出内容)
  6. 使用document.open() 打开一个新的空白文档
  7. 使用document.close() 方法可关闭一个由open()方法打开的输出流,并显示选定的数据。
  8. 当使用window.open() 打开一个页面,并把本页的window的名字传给要打开的页面的时候。
  9. 使用window.close() 关闭页面的时候
  10. 重新赋予window.location.href的值的时候。
  11. 通过input type=”submit”按钮提交一个具有指定action的表单的时候。
  12. 使用form.submit() 提交表单的时候

应用场景

onbeforeunload对话框用于现代Web上的两件事:

  1. 防止用户无意中丢失数据。
  2. 欺骗用户。

参考:

https://developer.mozilla.org/en-US/docs/Web/Events/beforeunload

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/201131.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 三字经 全文解读(三字经全文朗读儿童版解读)

    前言:《三字经》自南宋王应麟(字伯厚)先生所创作以来,已有七百多年历史,内容大都采用韵文,每三字一句,四句一组,像一首诗一样,背诵起来,如唱儿歌,三字经是学习中华传统文化不可多得的的儿童启蒙读物,共一千多字,可谓家喻户晓,脍炙人口。内容包括了中国传统的教育、历史、天文、地理、伦理和道德以及一些民间传说,广泛生动而又言简意赅。用来教育子女琅琅上口十分有趣,又能启迪心智,时人觉得本书内容很好,纷纷翻印

  • sql的隐式转换_js强制转换和隐式转换

    sql的隐式转换_js强制转换和隐式转换什么叫做隐式转换? 显示转换,就是你使用转换函数进行操作。隐式转换,就是你不使用转换函数,默认就给转换了。比如定义一个int型的变量@a,然后给变量符值set@a=’2’,这个就会隐式转换,把字符转换成数字了。Oracle隐式转换1     Oracle 隐式转换           Oracle中对不同类型的处理具有显式类型转换(Explicit)和隐式类型转换(Implicit…

    2022年10月11日
  • 2002-2007年最新免费空间

    2002-2007年最新免费空间赛腾网2006/11/06免费自助建站,150M存储空间,需要下载一个将近167M的软件来使用,但功能确实很强大,无广告。此免费空间的『演示』【推广】Fizwig2007/09/215G免费空间,每月10G流量,3个MySql数据库,ftp、web方式上传管理文件,有流量统计功能,可绑定域名(此服务未经测试),支持php,有广告。此免费空间的『演示』

  • 解析PHP跳出循环的方法以及continue、break、exit的区别介绍

    解析PHP跳出循环的方法以及continue、break、exit的区别介绍

    2021年10月21日
  • pycharm输入不了中文_pycharm可以设置成中文吗

    pycharm输入不了中文_pycharm可以设置成中文吗ubuntu18.04中PyCharm当全拼输入2~3个汉字时,会被强行打断,然后就无法继续输入(也无法切换中英文),并且汉字下会有下划线。点击菜单“Help|EditCustomVMoptions…”添加-Drecreate.x11.input.method=true到最后一行重启编辑器…

  • s一般怎么称呼自己的m_上海平面设计工资一般是多少,我该怎么提升自己的平面设计能力?…

    s一般怎么称呼自己的m_上海平面设计工资一般是多少,我该怎么提升自己的平面设计能力?…上海平面设计工资一般是多少,我该怎么提升自己的平面设计能力,学平面设计能干什么?很多人以为学习平面设计专业的话,毕了业只是做海报、设计广告而已。后来才发现,平面设计专业,其实有很多有意义的行业。就在上海平面设计工资一般是多少,我该怎么提升自己的平面设计能力来分享下自己的经验。平面设计是任何企业和公司都不可缺少的岗位之一,位置至关重要。而且大街上随处可见平面设计的踪影,海报、产品包装、路标指示牌、l…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号