onbeforeunload与onunload事件异同点总结


Posted in Javascript onJune 24, 2013

1)异同点
相同点:onunload,onbeforeunload都是在刷新或关闭时调用,可以在<script>脚本中通过window.onunload来指定或者在<body>里指定。
不同点:
a)onbeforeunload在onunload之前执行 ,它还可以阻止onunload的执行。
b)onbeforeunload是正要去服务器读取新的页面时调用,此时还没开始读取;nunload则已经从服务器上读到了需要加载的新的页面,在即将替换掉当前页面时调用 。
c)onbeforeunload是可以阻止页面的更新和关闭的。但是onunload不能。
onload、onbeforeunload、onunload事件的执行顺序:
打开页面时:只执行onload
关闭页面时:先onbeforeunload,后onunload
刷新页面时:先onbeforeunload,后onunload,再onload

2)onbeforeunload、onunload事件
触发于:
a)关闭浏览器窗口
b)通过地址栏或收藏夹前往其他页面的时候
c)点击返回,前进,刷新,主页其中一个的时候
d)点击 一个前往其他页面的url连接的时候
e)调用以下任意一个事件的时候:click,document write,document open,document close,window close ,window navigate ,window NavigateAndFind,location replace,location reload,form submit.
f)当用window open打开一个页面,并把本页的window的名字传给要打开的页面的时候。
g)重新赋予location.href的值的时候。
h)通过input type=”submit”按钮提交一个具有指定action的表单的时候。
可以用在以下元素:
BODY, FRAMESET, window
浏览器支持:
IE4+/Win, Mozilla 1.7a+, Netscape 7.2+, Firefox0.9+

3)解决刷新页面时不调用onbeforeunload

4)onbeforeunload阻止页面的更新和关闭
onbeforeunload="return '是否现在离开此页面';">

Javascript 相关文章推荐
javaScript - 如何引入js代码
Mar 09 Javascript
DOM节点删除函数removeChild()用法实例
Jan 12 Javascript
JavaScript使用yield模拟多线程的方法
Mar 19 Javascript
JavaScript中的prototype原型学习指南
May 09 Javascript
javascript 中关于array的常用方法详解
May 05 Javascript
详解Vue中使用Echarts的两种方式
Jul 03 Javascript
chosen实现省市区三级联动
Aug 16 Javascript
JavaScript 反射和属性赋值实例解析
Oct 28 Javascript
微信小程序canvas分享海报功能
Oct 31 Javascript
JavaScript实现省市联动效果
Nov 22 Javascript
微信小程序 bindtap 传参的实例代码
Feb 21 Javascript
用vite搭建vue3应用的实现方法
Feb 22 Vue.js
控制页面按钮在后台执行期间不重复提交的JS方法
Jun 24 #Javascript
javascript动态添加样式(行内式/嵌入式/外链式等规则)
Jun 24 #Javascript
JS实现的省份级联实例代码
Jun 24 #Javascript
javascript中的绑定与解绑函数应用示例
Jun 24 #Javascript
用jquery生成二级菜单的实例代码
Jun 24 #Javascript
自动刷新网页,自动刷新当前页面,JS调用
Jun 24 #Javascript
jquery中的事件处理详细介绍
Jun 24 #Javascript
You might like
PHP互换两个变量值的方法(不用第三变量)
2016/11/14 PHP
php实现数组中出现次数超过一半的数字的统计方法
2018/10/14 PHP
JQuery表格内容过滤的实现方法
2013/07/05 Javascript
jquery遍历之parent()和parents()的区别及parentsUntil()方法详解
2013/12/02 Javascript
jquery删除数据记录时的弹出提示效果
2014/05/06 Javascript
Js实现无刷新删除内容
2015/04/29 Javascript
javascript bom是什么及bom和dom的区别
2015/11/26 Javascript
jQuery实现调整表格单列顺序完整实例
2016/06/20 Javascript
关于JS中的方法是否加括号的问题
2016/07/27 Javascript
jquery实现网站列表切换效果的2种方法
2016/08/12 Javascript
JS只能输入正整数的简单实例
2016/10/07 Javascript
JS中原始值和引用值的储存方式示例详解
2018/03/23 Javascript
微信小程序实现自定义picker选择器弹窗内容
2020/05/26 Javascript
JavaScript设计模式之装饰者模式定义与应用示例
2018/07/25 Javascript
详解如何解决vue开发请求数据跨域的问题(基于浏览器的配置解决)
2018/11/12 Javascript
Vue3 的响应式和以前有什么区别,Proxy 无敌?
2020/05/20 Javascript
JS 逻辑判断不要只知道用 if-else 和 switch条件判断(小技巧)
2020/05/27 Javascript
python和shell变量互相传递的几种方法
2013/11/20 Python
python的三目运算符和not in运算符使用示例
2014/03/03 Python
Python标准库之sqlite3使用实例
2014/11/25 Python
python实现从一组颜色中找出与给定颜色最接近颜色的方法
2015/03/19 Python
使用Python的Django框架实现事务交易管理的教程
2015/04/20 Python
Python的randrange()方法使用教程
2015/05/15 Python
python开发中range()函数用法实例分析
2015/11/12 Python
Python实现一个服务器监听多个客户端请求
2018/04/12 Python
python实现推箱子游戏
2020/03/25 Python
HTML5文档结构标签
2017/04/21 HTML / CSS
应届毕业生求职信范例分享
2013/12/17 职场文书
企业军训感想
2014/02/07 职场文书
园艺师求职信
2014/03/10 职场文书
厂区绿化方案
2014/05/08 职场文书
党的群众路线教育实践活动个人对照检查材料(医生)
2014/11/05 职场文书
2015年119消防宣传日活动总结
2015/03/24 职场文书
MySQL完整性约束的定义与实例教程
2021/05/30 MySQL
MySQL8.0 Undo Tablespace管理详解
2022/06/16 MySQL
java获取一个文本文件的编码(格式)信息
2022/09/23 Java/Android