通常在浏览器关闭时有两个方法选择,1.onunload 2.onbeforeunload
由于1在不同浏览器有的执行,有的不执行,所以通常选择在onbeforeunload事件中处理。
该事件发生在很多情况:
- 刷新页面
- postback
- 点击链接
- 浏览器导航前后操作
有时不希望如点击链接时、刷新等一些步骤中不需要执行close event,所以我们可以使用一些方法进行排除这几个操作。当然导航的前后这些我们是检测不到的,也排除不了。
排除的原理:
在执行不想执行关闭脚本的操作中设置一些标志位,然后在事件中判断即可。简单逻辑如下:
$( "a" ).click( function (){ isclose= false ; }); |
window.onbeforeunload= function (){ if (isclose) { do () } } |
大龄程序猿,分享互联网开发相关知识!前端、后端,架构等内容,欢迎关注公众号 chengxuyuangangzi
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步