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 相关文章推荐
javascript下给元素添加事件的方法与代码
Aug 13 Javascript
js获取提交的字符串的字节数
Feb 09 Javascript
你必须知道的JavaScript 变量命名规则详解
May 07 Javascript
jquery中each遍历对象和数组示例
Aug 05 Javascript
javascript父、子页面交互技巧总结
Aug 08 Javascript
Backbone.js的Hello World程序实例
Jun 19 Javascript
使用jQuery的easydrag插件实现可拖动的DIV弹出框
Feb 19 Javascript
Vue.js实现拖放效果的实例
Sep 30 Javascript
mui back 返回刷新页面的实例
Dec 06 Javascript
使用jQuery给Table动态增加行、清空table的方法
Sep 05 jQuery
jQuery利用FormData上传文件实现批量上传
Dec 04 jQuery
js 实现ajax发送步骤过程详解
Jul 25 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
PHP命名空间(namespace)的使用基础及示例
2014/08/18 PHP
Zend Framework教程之Application和Bootstrap用法详解
2016/03/10 PHP
PHP回调函数概念与用法实例分析
2017/11/03 PHP
图片连续滚动代码[兼容IE/firefox]
2009/06/11 Javascript
基于jQuery的js分页代码
2010/06/10 Javascript
JQuery自适应IFrame高度(支持嵌套 兼容IE,ff,safafi,chrome)
2011/03/28 Javascript
给artDialog 5.02 增加ajax get功能详细介绍
2012/11/13 Javascript
jquery入门——事件机制之事件中的冒泡现象示例解释
2020/09/12 Javascript
javascript修改表格背景色实例代码分享
2013/12/10 Javascript
AngularJS指令用法详解
2016/11/02 Javascript
Vue input控件通过value绑定动态属性及修饰符的方法
2017/05/03 Javascript
微信小程序实现的涂鸦功能示例【附源码下载】
2018/01/12 Javascript
JavaScript类型相关的常用操作总结
2019/02/14 Javascript
基于Vue+ElementUI的省市区地址选择通用组件
2019/11/20 Javascript
微信小程序 SOTER 生物认证DEMO 指纹识别功能
2019/12/13 Javascript
React Native登录之指纹登录篇的示例代码
2020/11/03 Javascript
[40:19]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第二场 12.18
2020/12/19 DOTA
Python基于回溯法子集树模板解决数字组合问题实例
2017/09/02 Python
老海军美国官网:Old Navy
2016/09/05 全球购物
Raleigh兰令自行车美国官网:英国凤头牌自行车
2018/01/08 全球购物
可打印的优惠券、杂货和优惠券代码:Coupons.com
2018/06/12 全球购物
教师评优的个人自我评价分享
2013/09/19 职场文书
个人简历自我鉴定
2013/10/11 职场文书
财务会计人员岗位职责
2013/11/30 职场文书
优秀的自荐信要注意哪些
2014/01/03 职场文书
职工运动会感言
2014/02/07 职场文书
小学生爱国演讲稿
2014/04/25 职场文书
加强作风建设演讲稿
2014/10/24 职场文书
店铺转让协议书
2015/01/29 职场文书
三好学生个人总结
2015/02/15 职场文书
2015年城管个人工作总结
2015/05/15 职场文书
学习焦裕禄观后感
2015/06/09 职场文书
2016年11月份红领巾广播稿
2015/12/21 职场文书
《正比例》教学反思
2016/02/23 职场文书
MySQL Innodb关键特性之插入缓冲(insert buffer)
2021/04/08 MySQL
python析构函数用法及注意事项
2021/06/22 Python