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 相关文章推荐
IE7提供XMLHttpRequest对象为兼容
Mar 08 Javascript
Javascript学习笔记7 原型链的原理
Jan 11 Javascript
左右悬浮可分组的网站QQ在线客服代码(可谓经典)
Dec 21 Javascript
javascript打印html内容功能的方法示例
Nov 28 Javascript
JavaScript数组各种常见用法实例分析
Aug 04 Javascript
jQuery右下角旋转环状菜单特效代码
Aug 10 Javascript
jquery实现两边飘浮可关闭的对联广告
Nov 27 Javascript
Jquery EasyUI实现treegrid上显示checkbox并取选定值的方法
Apr 29 Javascript
JS当前页面登录注册框,固定DIV,底层阴影的实例代码
Sep 29 Javascript
jquery文字填写自动高度的实现方法
Nov 07 Javascript
在vue中获取token,并将token写进header的方法
Sep 26 Javascript
手把手带你入门微信小程序新框架Kbone的使用
Feb 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使用curl实现ftp文件下载功能
2017/05/16 PHP
php上传后台无法收到数据解决方法
2019/10/28 PHP
JavaScript 对象模型 执行模型
2009/12/06 Javascript
可以用来调试JavaScript错误的解决方案
2010/08/07 Javascript
JS图片预加载 JS实现图片预加载应用
2012/12/03 Javascript
js判断字符是否是汉字的两种方法小结
2014/01/03 Javascript
javascript中的return和闭包函数浅析
2014/06/06 Javascript
浅析AngularJS中的生命周期和延迟处理
2015/06/18 Javascript
jQuery的remove()方法使用详解
2015/08/11 Javascript
老生常谈JavaScript数组的用法
2016/06/10 Javascript
在Docker快速部署Node.js应用的详细步骤
2016/09/02 Javascript
基于bootstrap实现多个下拉框同时搜索功能
2017/07/19 Javascript
React Native预设占位placeholder的使用
2017/09/28 Javascript
Vue集成Iframe页面的方法示例
2017/12/12 Javascript
vue中$refs, $emit, $on, $once, $off的使用详解
2019/05/26 Javascript
javascript实现蒙版与禁止页面滚动
2020/01/11 Javascript
Python Web开发模板引擎优缺点总结
2014/05/06 Python
Python函数中*args和**kwargs来传递变长参数的用法
2016/01/26 Python
Python切片操作实例分析
2018/03/16 Python
python读取文本绘制动态速度曲线
2018/06/21 Python
python抓取京东小米8手机配置信息
2018/11/13 Python
python sorted函数的小练习及解答
2019/09/18 Python
python绘制规则网络图形实例
2019/12/09 Python
python绘制雪景图
2019/12/16 Python
Python利用Scrapy框架爬取豆瓣电影示例
2020/01/17 Python
Python PyPDF2模块安装使用解析
2020/01/19 Python
Pycharm中切换pytorch的环境和配置的教程详解
2020/03/13 Python
东南亚地区最大的购物网站Lazada新加坡站点:Lazada.sg
2016/07/17 全球购物
GNC健安喜官方海外旗舰店:美国著名保健品牌
2017/01/04 全球购物
药品促销活动方案
2014/02/14 职场文书
养成教育经验材料
2014/05/26 职场文书
广播体操比赛口号
2014/06/10 职场文书
伦敦奥运会的口号
2014/06/21 职场文书
入党现实表现材料
2014/12/23 职场文书
工作表扬信
2015/01/17 职场文书
mysql sock文件存储了什么信息
2022/07/15 MySQL