问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

javascript如何监听页面刷新和页面关闭事件

发布网友 发布时间:2022-04-23 05:24

我来回答

2个回答

懂视网 时间:2022-04-24 09:21

在我们的日常生活中,时常遇到这么一种情况,当我们在点击一个链接、关闭页面、表单提交时等情况,会提示我们是否确认该操作等信息。

这里就给大家讲讲javascript的onbeforeunload()和onunload()两个事件。

相同点:

两者都是在对页面的关闭或刷新事件作个操作。

不同点:

unbeforeunload()事件执行的顺序在onunload()事件之前发生。(因为,unbeforeunload()是在页面刷新之前触发的事件,而onubload()是在页面关闭之后才会触发的)。

unbeforeunload()事件可以禁止onunload()事件的触发。

onunload()事件是无法阻止页面关闭的。

浏览器的兼容

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>

热心网友 时间:2022-04-24 06:29

javascript的onbeforeunload()和onunload()两个事件。

相同点:

两者都是在对页面的关闭或刷新事件作个操作。

不同点:

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
这是个成本会计题,马上要考这道原题了,求大虾帮忙 财务管理类问题,求大虾帮忙,小弟感激不尽。具体问题看问题补充。_百度... 光影魔术手怎么换底色 光影魔术手换底色教程 ...米的绳子围绕一棵树干饶了6圈,还余下1.16米,这棵树干上的直径大约是... ...还余下1.16米,这棵树的树干的直径大约是多少米?求算式! ibm x3500 M5 服务器 运行时风扇声音好大,吵死了,可以下掉一个吗... IBMX3500 M5,最近老是出现自动关机的情况,需要把服务器电源拔掉半分钟... 治疗萎缩性胃炎的方法 怎么治萎缩胃炎 JYF-40FS06电饭煲190块买的是假的吗 怎么在js中监听所有前台的http请求。高分!在线等! 如何在页面中监听javascript事件 ios里面怎样监听js的事件 如何用js监听浏览器页面的关闭/刷新事件 如何用js监听滚动条滚动事件 如何用js监听滚动条滚动事件? js怎么监听嵌套对象中最里层的变化 如何监听JS对象的变化 js怎么监听移动端键盘展开事件 js,如何监听页面中弹出文件 怎样理解js中的事件监听 小米mix2是什么时候上市 如何用js监听网页的各种操作 小米mix2怎么看哪个 js 怎么给dom添加监听 JS如何实现方法监听? 小米mix2是不是只有 小米MIX2和MIX1有什么区别 小米MIX2有哪些优势和劣势? 小米mix2手机定位功能在哪y 求助大佬,原生js怎么监控点击事件并传值 长安cs75豪华版多少钱落地 js如何监听非ctrl alt shift的组合键 5万能买到长安75的哪一年车 长安cs75+plus+价格1.5t自动豪华型落地价 14款长安cs75现在能卖多少钱 长安cs75分期付款买多少钱 长安cs75多少钱啊 长安cs75价格长安cs75多少钱 长安CS75PLUS 2.0T自动领航型,全款多少钱? 长安cs75最低配全下来多少钱 14万落地提了长安CS75,这个价格为什么不选合资车,你怎么看? 公租房名下能否有汽车? 16年长安cs75二手值多少钱? 名下有车可以申请公租房吗,申请公租房需要什么条件? 广州地区长安CS75三款新增车型新车到店 售价为10.39-11.99万元 公租房查到名下有车怎么处理 2018年买的长安cs75轿车跑了四万公里无事故现在能卖多少钱? 酒泉市公租房的新政策可以名下有车吗 13万提长安CS75 PLUS,这个价格对得起这车吗?