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插件jquery倒计时插件分享
Dec 27 Javascript
js匿名函数的调用示例(形式多种多样)
Aug 20 Javascript
node.js中使用q.js实现api的promise化
Sep 17 Javascript
jQuery将所有被选中的checkbox某个属性值连接成字符串的方法
Jan 24 Javascript
js+html5实现canvas绘制圆形图案的方法
Jun 05 Javascript
详解JavaScript中的4种类型识别方法
Sep 14 Javascript
AngularJS入门之动画
Jul 27 Javascript
js获取页面引用的css样式表中的属性值方法(推荐)
Aug 19 Javascript
bootstrapfileinput实现文件自动上传
Nov 08 Javascript
Vue.js实现双向数据绑定方法(表单自动赋值、表单自动取值)
Aug 27 Javascript
Jquery滑动门/tab切换实现方法完整示例
Jun 05 jQuery
JavaScript函数柯里化
Nov 07 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下利用curl判断远程文件是否存在的实现代码
2011/10/08 PHP
php cc攻击代码与防范方法
2012/10/18 PHP
PHP5.3连接Oracle客户端及PDO_OCI模块的安装方法
2016/05/13 PHP
yii2使用GridView实现数据全选及批量删除按钮示例
2017/03/01 PHP
Javascript代码混淆综合解决方案-Javascript在线混淆器
2006/12/18 Javascript
js 图片轮播(5张图片)
2008/12/30 Javascript
JQuery AJAX提交中文乱码的解决方案
2010/07/02 Javascript
jqeury eval将字符串转换json的方法
2011/01/20 Javascript
在浏览器中获取当前执行的脚本文件名的代码
2011/07/19 Javascript
js修改table中Td的值(定义td的单击事件)
2013/01/10 Javascript
js计算两个时间之间天数差的实例代码
2013/11/19 Javascript
Jquery ajaxStart()与ajaxStop()方法(实例讲解)
2013/12/18 Javascript
分享Javascript实用方法二
2015/12/13 Javascript
javascript之with的使用(阿里云、淘宝使用代码分析)
2016/10/11 Javascript
AngularJS service之select下拉菜单效果
2017/07/28 Javascript
Vue-cli创建项目从单页面到多页面的方法
2017/09/20 Javascript
Vue+Vux项目实践完整代码
2017/11/30 Javascript
jQuery实现点击图标div循环放大缩小功能
2018/09/30 jQuery
vue刷新页面时去闪烁提升用户体验效果的实现方法
2018/12/10 Javascript
JavaScript工具库之Lodash详解
2019/06/15 Javascript
基于Vue中的父子传值问题解决
2020/07/27 Javascript
解析Python中的异常处理
2015/04/28 Python
Python中利用aiohttp制作异步爬虫及简单应用
2018/11/29 Python
pytorch 移动端部署之helloworld的使用
2020/10/30 Python
open_basedir restriction in effect. 原因与解决方法
2021/03/14 PHP
html5.2 dialog简介详解
2018/02/27 HTML / CSS
英国家喻户晓的折扣商场:TK Maxx
2017/05/26 全球购物
大学生收银员求职信分享
2014/01/02 职场文书
计算机专业求职信
2014/06/02 职场文书
节水口号标语
2014/06/19 职场文书
教师优秀党员事迹材料
2014/08/14 职场文书
超市开业庆典活动策划方案
2014/09/15 职场文书
后备干部推荐材料
2014/12/24 职场文书
餐厅如何利用“营销策略”扭转亏本局面
2019/10/15 职场文书
tensorflow中的数据类型dtype用法说明
2021/05/26 Python
Python常用配置文件ini、json、yaml读写总结
2021/07/09 Python