刷新或关闭时调用onbeforeunload

Onunload,onbeforeunload都是在刷新或关闭时调用,可以在<script>脚本中通过window.onunload来指定或者在<body>里指定。区别在于onbeforeunload在onunload之前执行,它还可以阻止onunload的执行。 
  Onbeforeunload也是在页面刷新或关闭时调用,Onbeforeunload是正要去服务器读取新的页面时调用,此时还没开始读取;而onunload则已经从服务器上读到了需要加载的新的页面,在即将替换掉当前页面时调用。Onunload是无法阻止页面的更新和关闭的。而 Onbeforeunload 可以做到。

页面加载时只执行onload 
页面关闭时先执行onbeforeunload,最后onunload 
页面刷新时先执行onbeforeunload,然后onunload,最后onload。

1、onbeforeunload事件: 
  说明:目前三大主流浏览器中firefox和IE都支持onbeforeunload事件,opera尚未支持。 
  用法: 
   ·object.onbeforeunload = handler 
   ·<element onbeforeunload = “handler” … ></element> 
  描述: 
   事件触发的时候弹出一个有确定和取消的对话框,确定则离开页面,取消则继续待在本页。handler可以设一个返回值作为该对话框的显示文本。

window.onbeforeunload = function (e) {  e.returnValue = ‘请确认是否离开当前页面?‘;}

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


2.onunload事件   用法:    ·object.onbeforeunload = handler    ·<element onbeforeunload = "handler"></element> 

  描述:    当用户关闭一个页面时触发 onunload 事件。 

  触发于:    ·关闭浏览器窗口    ·通过地址栏或收藏夹前往其他页面的时候    ·点击返回,前进,刷新,主页其中一个的时候    ·点击 一个前往其他页面的url连接的时候    ·调用以下任意一个事件的时候:click,document write,document open,document close,window close ,window navigate ,window NavigateAndFind,location replace,location reload,form submit.    ·当用window open打开一个页面,并把本页的window的名字传给要打开的页面的时候。    ·重新赋予location.href的值的时候。    ·通过input type=”submit”按钮提交一个具有指定action的表单的时候。 
时间: 2024-12-20 20:03:29

刷新或关闭时调用onbeforeunload的相关文章

使用onbeforeunload事件检测窗口是否刷新或关闭 .

onunload,onbeforeunload 在页面刷新或关闭时调用,区别在于: onbeforeunload 是在页面刷新或关闭前触发,这时浏览器并未请求服务器读取新页面,因此onbeforeunload是可以阻止页面更新或关闭的. onunload 也是在页面刷新或关闭时触发,不过这时浏览器已经向服务器请求读取新页面,因此onunload是无法阻止页面更新或关闭的. 1. onbeforeunload 事件 事件触发时会弹出一个有确定和取消的对话框,确定后才会执行后续事件,否则继续留在本页

用js判断页面刷新或关闭的方法

onbeforeunload与onunload事件 Onunload,onbeforeunload都是在刷新或关闭时调用,可以在<script>脚本中通过window.onunload来指定或者在<body>里指定.区别在于onbeforeunload在onunload之前执行,它还可以阻止onunload的执行. Onbeforeunload也是在页面刷新或关闭时调用,Onbeforeunload是正要去服务器读取新的页面时调用,此时还没开始读取:而onunload则已经从服务器

关闭浏览器事件 onbeforeunload和onunload

在做毕设的时候,需要在关闭浏览器的时候向后台服务器修改用户在线状态.首先讲一下 onbeforeunload 和 onunload(都是在刷新或关闭时调用) 的区别: (1)onbeforeunload:在即将离开当前页面(刷新或关闭)时触发,即正要去服务器读取新的页面时调用,此时还没开始读取.该事件可用于弹出对话框,提示用户是继续浏览页面还是离开当前页面.兼容方面如下: IE.Safari 完美支持 Firefox.Chrome 不支持文字提醒信息 Opera 不支持 (2)onunload:

研究区分onbeforeunload事件是刷新还是关闭

一.原因 最近公司的一个web项目需要在关闭网页窗口的时候对一些资源做处理,必须判断是刷新还是关闭,这很苦逼,造成必须做判断的问题是由miniUI的一个实时编辑grid控件引起的,因为表格控件在编辑,新增记录的时候,触发了reload的事件,UI底层可能做得不好,这些操作都会触发onbeforeunload 事件里的刷新 ,但是由于控件上的耦合性问题,不能不使用miniUI控件,问题只能去解决和规避掉. 二.分析 我的系统里能触发onbeforeunload事件的有以下: 1.F5刷新 2.Ct

当页面关闭时向后台发送请求

今天做项目时遇上一个需求,当浏览器或页面关闭时将数据存储到数据库内.实现思想是采用js监测onunload然后发送请求.结果失败,刷新可以发送但是关闭并不能,最终整了一整天并没有解决,最后找到了解决办法. 先贴个能实现功能的方法: 1 function saveStatus(){ 2 /*结束时保存设备状态*/ 3 window.onbeforeunload=function(){//必须使用beforeunload 4 var url ="device_saveDeviceStatus&quo

js 监听浏览器刷新还是关闭事件

原作者的文章地址:http://udn.yyuap.com/forum.php?mod=viewthread&tid=96309 页面加载时只执行onload 页面关闭时只执行onunload 页面刷新时先执行onbeforeunload,然后onunload,最后onload. 经过验证我得出的结论是: //对于ie,谷歌,360: //页面加载时只执行onload //页面刷新时,刷新之前执行onbeforeunload事件,在新页面即将替换旧页面时onunload事件,最后onload事件

页面刷新或关闭前警告

有时候为了防止用户在误点了刷新或关闭页面时,编辑的内容没有保存,给用户更多选择,可添加如下事件 onbeforeunload="window.event.returnValue='内容没有保存哦亲'" 在IE中显示效果如下: 在Chrome中显示效果如下: window.event.returnValue=false;用来停止事件继续处理.

打开页面自动刷新网页,自动刷新当前页面,JS调用

reload 方法,该方法强迫浏览器刷新当前页面.语法:location.reload([bForceGet]) 参数: bForceGet, 可选参数, 默认为 false,从客户端缓存里取当前页.true, 则以 GET 方式,从服务端取最新的页面, 相当于客户端点击 F5("刷新") replace 方法,该方法通过指定URL替换当前缓存在历史里(客户端)的项目,因此当使用replace方法之后,你不能通过"前进"和"后退"来访问已经被替换

AjaxPro局部刷新(输入时自动提示功能)

效果图 1.前台页面 <td class="queryLeft">股票名称:</td> <td class="queryRight"> <asp:TextBox ID="txtShareName" CssClass="shareName" onkeyup="prompt(this)" runat="server" autocomplete=&qu