监听浏览器窗口关闭事件onbeforeunload不起作用
先贴代码
<body><!-- <script>window.alert("Catalina")</script> --><!-- <script>window.confirm("Catalina 我还来得及吗?")</script> --><!-- <script>window.prompt("你喜欢现在的我吗?","喜欢")</script> --><input type="button" value="单击我" name="btn" id="btn" ><a href="https://www.cctv.com"> 你好</a><script>window.onload = function(){alert("欢迎");window.onbeforeunload = function(){return 111;// alert("再见!");}window.onresize = function(){alert("你调整了窗口大小!");}}</script>
</body>
在使用卸载事件时,alert("“再见!”)无法展现,百思不得其解,后来了解到:事件触发了,因为页面跳转的时候,window对象和DOM对象都已经被销毁了,所以alert不能执行
调整为 return xxx; 时效果出现(goole、Firefox、ME),但无法定制化自己的alert内容
又听说有这么一说: onbeforeunload 方法需要用户和页面有交互动作才能在关闭页面时进行触发,否则不生效。
onbeforeunload 事件在即将离开当前页面(刷新或关闭)时触发。
该事件可用于弹出对话框,提示用户是继续浏览页面还是离开当前页面。
onbeforeunload事件在onunload事件之前触发。
alert,confirm,prompt不执行
在一些浏览器中,在onbeforeunload中调用alert,confirm,prompt等方法会被忽略。
在Chrome和Firefox中,页面加载完成后,如果用户未对页面进行操作,比如“点击”、“输入”等等,onbeforeunload将不会被执行。而在Safari中onbeforeunload总是会被执行。
需要指出的是,许多浏览器会忽略该事件并自动关闭页面无需用户的确认。火狐浏览器在配置页面about:config设有一个dom.disable_beforeunload的开关变量用于开启这个功能。
监听浏览器窗口关闭事件onbeforeunload不起作用相关推荐
- [轉]Flash/Flex监听浏览器的关闭事件
FROM : http://blog.ityao.com/archives/581 如果想用Flash/Flex监听浏览器的关闭事件, 可以通过JavaScript的window.onbeforeun ...
- 巨坑!监听浏览器窗口关闭onbeforeunload不起作用(脱坑了啊!!)
----------------重要通知-------------- Hello,本人的博客文章已更新至个人网站(www.jonexu.cn) 文章中有问题可以到网站联系博主,后续新的文章也将更新在个 ...
- vue 全局监听浏览器窗口关闭以及无痕模式场景提示
需求场景一:用户退出时清空localStorage并告知后台用户退出,保持登录状态时关闭窗口或者浏览器达到相同目的 实现: // 在mounted中触发beforeunload事件以及在destroy ...
- 监听浏览器窗口关闭onbeforeunload不起作用的原因
项目场景: 需求:用户手动关闭浏览器需要提示,但是代码自动触发的关闭不提示 逻辑实现 mounted() {window.addEventListener('beforeunload', e => ...
- html监听页面关闭事件,JS针对浏览器窗口关闭事件的监听方法集锦
本文实例总结了JS针对浏览器窗口关闭事件的监听方法.分享给大家供大家参考,具体如下: 方式一:(适用于IE浏览器,而且刷新不提示,只在点击浏览器关闭按钮的时候提示) window.οnbefοreun ...
- html5中页面关闭事件监听,JS针对浏览器窗口关闭事件的监听方法集锦
本文实例总结了JS针对浏览器窗口关闭事件的监听方法.分享给大家供大家参考,具体如下: 方式一:(适用于IE浏览器,而且刷新不提示,只在点击浏览器关闭按钮的时候提示) window.οnbefοreun ...
- 监听浏览器的返回事件,禁止浏览器返回
//禁止页面后退 history.pushState(null,null,document.URL); window.addEventListener('popstate',function(){// ...
- js 进入浏览器全屏(F11效果)、退出全屏、指定元素全屏、判断当前是否全屏、监听浏览器全屏事件、定义全屏时的css样式(全屏伪类)
各部分功能代码详见注释: <template><div><button v-if="!ifFullScreen" @click="fullS ...
- 监听浏览器刷新/关闭页面
首先,使用onunload或onbeforeunload可以监听浏览器关闭事件,但是无法区分关闭与刷新.以下js代码可以部分监听关闭浏览器的事件! 可以在标签中添加方法: <!DOCTYPE h ...
最新文章
- 8、计算机图形学——纹理的相关问题及解决办法
- python等间隔取样
- Nginx特性验证-反向代理/负载均衡/页面缓存/URL重定向
- python3 sleep 并发_python异步编程之asyncio(百万并发)
- 谁参加了JavaScript 2018状况调查?
- minicom/picocom/cutecom/putty 安装与使用教程
- Windows 集成 FTP 服务器配置–WS08R2已验证
- 曝李国庆抢走当当公章发《告当当全体员工书》,当当网:已报警,公章作废...
- vcsa上RVC查看vsan状态的命令
- linux 移出权限,如何在 Ubuntu 上为用户授予和移除 sudo 权限
- 强大的USB协议分析工具
- 京东数科主导的首个Apache基金会项目ShardingSphere进入孵化器
- 开启阿里云linux下的pure-ftpd被动模式,解决flashfxp可连接但无法下载的问题
- linux计划任务详解(附演示)
- 你现在还在自己洗碗?教你制作单片机的洗碗机控制器
- BRITS: Bidirectional Recurrent Imputation for Time Series(时间序列的双向递归填补)论文详解
- 大数据工具主要分为哪几类,每类中具体有哪些工具?
- 「CH2401」送礼物 解题报告
- javascript检测浏览器是否需要升级版本和提示
- linux ctrl r 搜索,linux下用ctrl+r快速搜索history命令
热门文章
- Python基础——字典中由value查key的几点说明
- 聊聊CSDN博客的一些问题
- 【已阅】Linux下一切皆文件与指令的本质(可执行程序),which指令等
- AS Gradle 8.0 配置 + Realm 使用
- 【vue】在vue项目中按顺序动态24个英文字母选项:A B C D E F......
- rowcount php,PHP:PDOStatement::rowCount()方法参数说明
- 关于后台网页设计的原则
- 趣谈达磨传授衣钵时发生的故事
- mysql sql语句面试经典50题_SQL:经典面试50题
- “饶派杯”XCTF车联网安全挑战赛战队巡礼!