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

onunload,onbeforeunload
在页面刷新或关闭时调用,区别在于:

onbeforeunload
是在页面刷新或关闭前触发,这时浏览器并未请求服务器读取新页面,因此onbeforeunload是可以阻止页面更新或关闭的。

onunload
也是在页面刷新或关闭时触发,不过这时浏览器已经向服务器请求读取新页面,因此onunload是无法阻止页面更新或关闭的。

1.
onbeforeunload 事件

事件触发时会弹出一个有确定和取消的对话框,确定后才会执行后续事件,否则继续留在本页。

触发于:

  • 关闭浏览器窗口
  • 通过地址栏或收藏夹前往其他页面的时候
  • 点击返回,前进,刷新,主页其中一个的时候
  • 点击 一个前往其他页面的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

平台支持:IE,Firefox,Chrome,Safari。Opera暂不支持。

例子:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <title> 刷新与离开页面检测 </title>
 </head>

 <body>
  <script type="text/javascript">
  window.onbeforeunload = function(){
	return ‘你的文章尚未保存‘;
  }
  </script>
 </body>
</html>

2.
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的表单的时候。

平台支持:只有IE,其他都不支持。

例子:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <title> 刷新与离开页面检测 </title>
 </head>

 <body>
  <script type="text/javascript">
  window.onunload = function(){
	alert(‘谢谢下次再来‘);
  }
  </script>
 </body>
</html>
时间: 2024-10-16 16:13:36

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

刷新或关闭时调用onbeforeunload

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

onunload,onbeforeunload事件的简述

[e良师益友网]Onunload,onbeforeunload都是在刷新或关闭时调用,可以在脚本中通过window.onunload来指定或者在里指定.区别在于onbeforeunload在onunload之前执行 ,它还可以阻止onunload的执行. Onbeforeunload 也是在页面刷新或关闭时调用,Onbeforeunload是正要去服务器读取新的页面时调用,此时还没开始读取 :而onunload则已经从服务器上读到了需要加载的新的页面,在即将替换掉当前页面时调用 .Onunloa

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

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

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

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

监听窗口关闭,onbeforeunload事件

今天发现了onbeforeunload事件,它是这样用的: <script language="javascript"> g_blnCheckUnload = true; function RunOnBeforeUnload() { if (g_blnCheckUnload) {//注意异常的捕获 try{ window.event.returnValue = 'You will lose any unsaved content'; }catch(e){} } } <

各浏览器对 onbeforeunload 事件的支持与触发条件实现有差异

标准参考 无. 问题描述 一般情况下,onbeforeunload 事件处理函数内会写入一些提示性语句,当用户的浏览器跳转到其他页面时,用来提醒用户当前页面将要跳转,请用户决定是否观看新页面.或者在 onbeforeunload 事件内处理一些业务逻辑,在浏览器跳转到新页面之前 ,执行一些业务逻辑,如保存用户浏览信息等. 简单的说这个事件应仅在页面 URL 发生变化时触发,但是在 IE 中 使用 JavaScript 伪协议执行脚本程序时,也会触发 onbeforeunload 事件. 造成的影

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

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

160503、onunload、onbeforeunload事件详解

最近项目中做到一个功能:在上传页面用户开始上传文件之后用户点击任意跳转都需要弹出提示层进行二次确定才允许他进行跳转,这样做的目的是为了防止用户的错误操作导致这珍贵的UGC 流失(通常用户在一次上传不成功之后,很容易就会打消了上传的念头的了,或去到其他平台进行上传). 在这里用到的是 onbeforeunload 事件.下面就梳理下 onunload.onbeforeunload 这两个事件,也顺带说说我遇到的问题与解决方案. onunload,onbeforeunload都是在刷新或关闭时调用,

onunload、onbeforeunload事件详解--zhuan

最近项目中做到一个功能:在上传页面用户开始上传文件之后用户点击任意跳转都需要弹出提示层进行二次确定才允许他进行跳转,这样做的目的是为了防止用户的错误操作导致这珍贵的UGC 流失(通常用户在一次上传不成功之后,很容易就会打消了上传的念头的了,或去到其他平台进行上传). 在这里用到的是 onbeforeunload 事件.下面就梳理下 onunload.onbeforeunload 这两个事件,也顺带说说我遇到的问题与解决方案. onunload,onbeforeunload都是在刷新或关闭时调用,