javascript监听页面刷新和页面关闭事件方法详解


Posted in Javascript onJanuary 09, 2017

在我们的日常生活中,时常遇到这么一种情况,当我们在点击一个链接、关闭页面、表单提交时等情况,会提示我们是否确认该操作等信息。

这里就给大家讲讲javascript的onbeforeunload()和onunload()两个事件。

相同点:

两者都是在对页面的关闭或刷新事件作个操作。

不同点:

  1. unbeforeunload()事件执行的顺序在onunload()事件之前发生。(因为,unbeforeunload()是在页面刷新之前触发的事件,而onubload()是在页面关闭之后才会触发的)。
  2. unbeforeunload()事件可以禁止onunload()事件的触发。
  3. onunload()事件是无法阻止页面关闭的。
  4. 浏览器的兼容

onunload:

IE6,IE7,IE8 中 刷新页面、关闭浏览器之后、页面跳转之后都会执行;

IE9 刷新页面 会执行,页面跳转、关闭浏览器不能执行;

firefox(包括firefox3.6) 关闭标签之后、页面跳转之后、刷新页面之后能执行,但关闭浏览器不能执行;

Safari 刷新页面、页面跳转之后会执行,但关闭浏览器不能执行;

Opera、Chrome 任何情况都不执行。

javascript监听页面刷新和页面关闭事件方法详解

onbeforeunload:

IE、Chrome、Safari 完美支持

Firefox 不支持文字提醒信息

Opera 不支持

IE6,IE7会出现bug

javascript监听页面刷新和页面关闭事件方法详解

示例代码:

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>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
jQuery之$(document).ready()使用介绍
Apr 05 Javascript
JS将表单导出成EXCEL的实例代码
Nov 11 Javascript
js 事件截取enter按键页面提交事件示例代码
Mar 04 Javascript
jQuery插件分享之分页插件jqPagination
Jun 06 Javascript
通过Jquery.cookie.js实现展示浏览网页的历史记录超管用
Oct 23 Javascript
JQuery fileupload插件实现文件上传功能
Mar 18 Javascript
微信小程序 实现tabs选项卡效果实例代码
Oct 31 Javascript
基于Bootstrap漂亮简洁的CSS3价格表(附源码下载)
Feb 28 Javascript
浅析JavaScript中的平稳退化(graceful degradation)
Jul 24 Javascript
jQuery实现的隔行变色功能【案例】
Feb 18 jQuery
Vue学习笔记之计算属性与侦听器用法
Dec 07 Javascript
vue 授权获取微信openId操作
Nov 13 Javascript
JS获得多个同name 的input输入框的值的实现方法
Jan 09 #Javascript
微信小程序去哪里找 小程序到底如何使用(附小程序名单)
Jan 09 #Javascript
原生Javascript插件开发实践
Jan 09 #Javascript
Angular下H5上传图片的方法(可多张上传)
Jan 09 #Javascript
详解网站中图片日常使用以及优化手法
Jan 09 #Javascript
jQuery实现表格元素动态创建功能
Jan 09 #Javascript
input输入密码变黑点密文的实现方法
Jan 09 #Javascript
You might like
删除html标签得到纯文本可处理嵌套的标签
2014/04/28 PHP
php实现比较全的数据库操作类
2015/06/18 PHP
PHP魔术方法使用方法汇总
2016/02/14 PHP
php使用scandir()函数扫描指定目录下所有文件示例
2019/06/08 PHP
非阻塞动态加载javascript广告实现代码
2010/11/17 Javascript
用unescape反编码得出汉字示例
2014/04/24 Javascript
javascript实现简单的贪吃蛇游戏
2015/03/31 Javascript
javascript实现的图片切割多块效果实例
2015/05/07 Javascript
使用OpenLayers3 添加地图鼠标右键菜单
2015/12/29 Javascript
JavaScript表单验证开发
2016/11/23 Javascript
jQuery使用ajax方法解析返回的json数据功能示例
2017/01/10 Javascript
Vue多种方法实现表头和首列固定的示例代码
2018/02/02 Javascript
解决vue-router中的query动态传参问题
2018/03/20 Javascript
微信小程序实现红包功能(后端PHP实现逻辑)
2018/07/11 Javascript
微信小程序chooseImage的用法(从本地相册选择图片或使用相机拍照)
2018/08/22 Javascript
javascript中this的用法实践分析
2019/07/29 Javascript
解决vue scoped scss 无效的问题
2020/09/04 Javascript
jquery自定义组件实例详解
2020/12/31 jQuery
[37:29]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第二场 11.19
2020/11/19 DOTA
[42:23]完美世界DOTA2联赛PWL S3 Forest vs Rebirth 第二场 12.10
2020/12/13 DOTA
Python爬虫爬取一个网页上的图片地址实例代码
2018/01/16 Python
WxPython建立批量录入框窗口
2019/02/27 Python
python使用百度文字识别功能方法详解
2019/07/23 Python
python twilio模块实现发送手机短信功能
2019/08/02 Python
丹尼尔惠灵顿手表天猫官方旗舰店:Daniel Wellington
2017/08/25 全球购物
Kangol帽子官网:坎戈尔袋鼠
2018/09/26 全球购物
前台接待员岗位职责
2014/01/02 职场文书
小学生学习感言
2014/03/10 职场文书
在校大学生的职业生涯规划书
2014/03/14 职场文书
竞聘演讲稿开场白
2014/08/25 职场文书
个人存款证明书
2014/10/18 职场文书
党的群众路线教育实践活动领导班子整改方案
2014/10/25 职场文书
廉洁自律心得体会2016
2016/01/13 职场文书
JavaScript中isPrototypeOf函数
2021/11/07 Javascript
win11怎么用快捷键锁屏? windows11锁屏的几种方法
2021/11/21 数码科技
【TED出品】天梯非主流开心游1700 划水骑士
2022/03/31 魔兽争霸