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 相关文章推荐
怎么让脚本或里面的函数在所有图片都载入完毕的时候执行
Oct 17 Javascript
返回上一页并自动刷新的JavaScript代码
Feb 19 Javascript
JavaScript获取XML数据附示例截图
Mar 05 Javascript
jquery的attr方法禁用表单元素禁用输入内容
Jun 23 Javascript
js实现同一页面多个不同运动效果的方法
Apr 10 Javascript
JQuery判断checkbox是否选中及其它复选框操作方法合集
Jun 01 Javascript
javascript背景时钟实现方法
Jun 18 Javascript
Bootstrap实现圆角、圆形头像和响应式图片
Dec 14 Javascript
jQuery实现鼠标滑过预览图片大图效果的方法
Apr 26 jQuery
React Native react-navigation 导航使用详解
Dec 01 Javascript
vue axios数据请求get、post方法及实例详解
Sep 11 Javascript
如何使用50行javaScript代码实现简单版的call,apply,bind
Aug 14 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 socket的讲解与实例分析
2013/06/13 PHP
PHP运行SVN命令显示某用户的文件更新记录的代码
2014/01/03 PHP
php生成图片验证码的实例讲解
2015/08/03 PHP
jquery+ashx无刷新GridView数据显示插件(实现分页、排序、过滤功能)
2010/04/25 Javascript
用js解决数字不能换行问题
2010/08/10 Javascript
IE6/7 and IE8/9/10(IE7模式)依次隐藏具有absolute或relative的父元素和子元素后再显示父元素
2011/07/31 Javascript
javascript中关于执行环境的杂谈
2011/08/14 Javascript
来自国外的30个基于jquery的Web下拉菜单
2012/06/22 Javascript
原生js获取宽高与jquery获取宽高的方法关系对比
2014/04/04 Javascript
iframe子页面与父页面在同域或不同域下的js通信
2014/05/07 Javascript
IE8中使用javascript动态加载CSS的解决方法
2014/06/17 Javascript
js delete 用法(删除对象属性及变量)
2014/08/24 Javascript
基于豆瓣API+Angular开发的web App
2015/01/02 Javascript
javascript实现简单的省市区三级联动
2015/05/14 Javascript
JavaScript中的getDay()方法使用详解
2015/06/09 Javascript
基于javascript实现样式清新图片轮播特效
2016/03/30 Javascript
js绘制购物车抛物线动画
2020/11/18 Javascript
Vue.js每天必学之构造器与生命周期
2016/09/05 Javascript
Vue2.0利用vue-resource上传文件到七牛的实例代码
2017/07/28 Javascript
简单谈谈js的数据类型
2017/09/25 Javascript
详解微信小程序中组件通讯
2018/10/30 Javascript
详解Vue项目部署遇到的问题及解决方案
2019/01/11 Javascript
python抓取文件夹的所有文件
2018/02/27 Python
python判断设备是否联网的方法
2018/06/29 Python
推荐技术人员一款Python开源库(造数据神器)
2020/07/08 Python
python 判断一组数据是否符合正态分布
2020/09/23 Python
python 装饰器重要在哪
2021/02/14 Python
EQVVS官网:设计师男装和女装
2018/10/24 全球购物
Zipadee-Zip襁褓过渡毯:Sleeping Baby
2018/12/30 全球购物
酒店管理求职信范文
2014/04/06 职场文书
《沉香救母》教学反思
2014/04/19 职场文书
银行党的群众路线教育实践活动对照检查材料
2014/09/25 职场文书
小学生毕业评语
2014/12/26 职场文书
心灵点滴观后感
2015/06/02 职场文书
简爱读书笔记
2015/06/26 职场文书
幼儿园卫生保健制度
2015/08/05 职场文书