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实现表格排序方法
Jun 14 Javascript
Jquery EasyUI的添加,修改,删除,查询等基本操作介绍
Oct 11 Javascript
jQuery 重复加载错误以及修复方法
Dec 16 Javascript
jQuery切换所有复选框选中状态的方法
Jul 02 Javascript
jQuery实现点击按钮弹出可关闭层的浮动层插件
Sep 19 Javascript
seajs加载jquery时提示$ is not a function该怎么解决
Oct 23 Javascript
APP中javascript+css3实现下拉刷新效果
Jan 27 Javascript
JavaScript瀑布流布局实现代码
May 06 Javascript
jQuery事件对象的属性和方法详解
Sep 09 jQuery
Vue.js实现的购物车功能详解
Jan 27 Javascript
JS快速实现简单计算器
Apr 08 Javascript
使用js获取身份证年龄的示例代码
Dec 11 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
做个自己站内搜索引擎
2006/10/09 PHP
PHP JSON 数据解析代码
2010/05/26 PHP
php获取通过http协议post提交过来xml数据及解析xml
2012/12/16 PHP
PHP多进程编程总结(推荐)
2016/07/18 PHP
Yii框架中sphinx索引配置方法解析
2016/10/18 PHP
Javascript 判断 object 的特定类转载
2007/02/01 Javascript
jQuery中filter()和find()的区别深入了解
2013/09/25 Javascript
JavaScript中的闭包介绍
2015/03/15 Javascript
javascript获取网页宽高方法汇总
2015/07/19 Javascript
jQuery移动web开发中的页面初始化与加载事件
2015/12/03 Javascript
Vue.js报错Failed to resolve filter问题的解决方法
2016/05/25 Javascript
JavaScript必知必会(七)js对象继承
2016/06/08 Javascript
利用JQuery直接调用asp.net后台的简单方法
2016/10/27 Javascript
jQuery实现自动调用和触发某个事件的方法
2016/11/18 Javascript
jquery 实现复选框的全选操作实例代码
2017/01/24 Javascript
vue.js element-ui tree树形控件改iview的方法
2018/03/29 Javascript
Vue波纹按钮组件制作
2018/04/30 Javascript
在vue项目中正确使用iconfont的方法
2018/09/28 Javascript
JavaScript数据结构与算法之二叉树遍历算法详解【先序、中序、后序】
2019/02/21 Javascript
基于脚手架创建Vue项目实现步骤详解
2020/08/03 Javascript
微信小程序通过websocket实时语音识别的实现代码
2020/08/19 Javascript
Python的面向对象思想分析
2015/01/14 Python
Python实现的简单算术游戏实例
2015/05/26 Python
python制作websocket服务器实例分享
2016/11/20 Python
Python实现将SQLite中的数据直接输出为CVS的方法示例
2017/07/13 Python
python引用(import)某个模块提示没找到对应模块的解决方法
2019/01/19 Python
Python实现的对本地host127.0.0.1主机进行扫描端口功能示例
2019/02/15 Python
使用PyQt的QLabel组件实现选定目标框功能的方法示例
2020/05/19 Python
python 实现超级玛丽游戏
2020/11/25 Python
介绍一下grep命令的使用
2012/06/28 面试题
女大学生个人求职信
2013/12/09 职场文书
初一家长会邀请函
2014/01/31 职场文书
吨的认识教学反思
2014/04/27 职场文书
企业员工薪酬方案
2014/06/04 职场文书
服装设计师求职信
2014/06/04 职场文书
vue项目打包后路由错误的解决方法
2022/04/13 Vue.js