javascript监听页面刷新和页面关闭事件方法详解
发布时间 - 2026-01-10 22:24:06 点击率:次在我们的日常生活中,时常遇到这么一种情况,当我们在点击一个链接、关闭页面、表单提交时等情况,会提示我们是否确认该操作等信息。

这里就给大家讲讲javascript的onbeforeunload()和onunload()两个事件。
相同点:
两者都是在对页面的关闭或刷新事件作个操作。
不同点:
- unbeforeunload()事件执行的顺序在onunload()事件之前发生。(因为,unbeforeunload()是在页面刷新之前触发的事件,而onubload()是在页面关闭之后才会触发的)。
- unbeforeunload()事件可以禁止onunload()事件的触发。
- onunload()事件是无法阻止页面关闭的。
- 浏览器的兼容
onunload:
IE6,IE7,IE8 中 刷新页面、关闭浏览器之后、页面跳转之后都会执行;
IE9 刷新页面 会执行,页面跳转、关闭浏览器不能执行;
firefox(包括firefox3.6) 关闭标签之后、页面跳转之后、刷新页面之后能执行,但关闭浏览器不能执行;
Safari 刷新页面、页面跳转之后会执行,但关闭浏览器不能执行;
Opera、Chrome 任何情况都不执行。
onbeforeunload:
IE、Chrome、Safari 完美支持
Firefox 不支持文字提醒信息
Opera 不支持
IE6,IE7会出现bug
示例代码:
onbeforeunload():
方式一:html元素中添加
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body onbeforeunload="return myFunction()">
<p>该实例演示了如何向 body 元素添加 "onbeforeunload" 事件。</p>
<p>关闭当前窗口,按下 F5 或点击以下链接触发 onbeforeunload 事件。</p>
<a href="http://www.qqtimezone.top">博客地址</a>
<script>
function myFunction() {
return "自定义内容";
}
</script>
</body>
</html>
方式二:javascript中添加
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<p>该实例演示了如何使用 HTML DOM 向 body 元素添加 "onbeforeunload" 事件。</p>
<p>关闭当前窗口,按下 F5 或点击以下链接触发 onbeforeunload 事件。</p>
<a href="http://www.runoob.com">点击调整到菜鸟教程</a>
<script>
window.onbeforeunload = function(event) {
event.returnValue = "我在这写点东西...";
};
</script>
</body>
</html>
方式三:添加addEventListener()事件(不过此方法IE8以下不支持)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<p>该实例演示了如何使用 addEventListener() 方法向 body 元素添加 "onbeforeunload" 事件。</p>
<p>关闭当前窗口,按下 F5 或点击以下链接触发 onbeforeunload 事件。</p>
<a href="http://www.qqtimezone.top">跳转地址</a>
<script>
window.addEventListener("beforeunload", function(event) {
event.returnValue = "我在这写点东西...";
});
</script>
</body>
</html>
onunload():
方式一:html元素中添加
<!DOCTYPE html>
<html>
<head>
<title></title>
<script type="text/javascript">
function fun() {
// dosomethings
}
</script>
</head>
<body onunload="fun()">
</body>
</html>
方式二:javascript添加
<!DOCTYPE html>
<html>
<head>
<title></title>
<script type="text/javascript">
window.onunload = function() {
// dosomethings
};
</script>
</head>
<body>
</body>
</html>
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# js
# 刷新
# 关闭
# js事件监听器用法实例详解
# js事件监听机制(事件捕获)总结
# JS 事件绑定、事件监听、事件委托详细介绍
# js监听键盘事件示例代码
# 两种js监听滚轮事件的实现方法
# JavaScript中的事件监听详细介绍
# 跳转
# 关闭浏览器
# 不支持
# 按下
# 是在
# 菜鸟
# 在这
# 点击以下
# 如何使用
# 写点
# 都是
# 都不
# 才会
# 自定义
# 在对
# 当我们
# 后会
# 表单
# 就给
# 作个
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程
如何自定义建站之星模板颜色并下载新样式?
jQuery validate插件功能与用法详解
,怎么在广州志愿者网站注册?
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
如何有效防御Web建站篡改攻击?
INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】
标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南
如何快速配置高效服务器建站软件?
浅析上传头像示例及其注意事项
php 三元运算符实例详细介绍
Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区
高端智能建站公司优选:品牌定制与SEO优化一站式服务
MySQL查询结果复制到新表的方法(更新、插入)
如何快速搭建自助建站会员专属系统?
Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权
如何在 Pandas 中基于一列条件计算另一列的分组均值
如何快速搭建高效可靠的建站解决方案?
laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法
标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析
如何用已有域名快速搭建网站?
Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】
laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析
香港服务器租用费用高吗?如何避免常见误区?
详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南
如何使用 jQuery 正确渲染 Instagram 风格的标签列表
如何快速辨别茅台真假?关键步骤解析
如何获取免费开源的自助建站系统源码?
Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载
如何在云虚拟主机上快速搭建个人网站?
Laravel Octane如何提升性能_使用Laravel Octane加速你的应用
如何在Ubuntu系统下快速搭建WordPress个人网站?
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
如何在Tomcat中配置并部署网站项目?
网站制作价目表怎么做,珍爱网婚介费用多少?
Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】
javascript中对象的定义、使用以及对象和原型链操作小结
Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中
Mybatis 中的insertOrUpdate操作
利用python获取某年中每个月的第一天和最后一天
如何用VPS主机快速搭建个人网站?
微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】
如何在自有机房高效搭建专业网站?
Laravel如何配置Horizon来管理队列?(安装和使用)
详解Android图表 MPAndroidChart折线图
Laravel如何实现API资源集合?(Resource Collection教程)
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
nodejs redis 发布订阅机制封装实现方法及实例代码
Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门
Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率

