Onunload,onbeforeunload都是在刷新或关闭时调用,可以在<script>脚本中通过 window.onunload来指定或者在<body>里指定。区别在于onbeforeunload在onunload之前执行,它还可 以阻止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的表单的时候。
Onbeforeunload也是在页面刷新或关闭时调用,Onbeforeunload是正要去服务器读 取新的页面时调用,此时还没开始读取;而onunload则已经从服务器上读到了需要加载的新的页面,在即将替换掉当前页面时调用。Onunload是无 法阻止页面的更新和关闭的。而 Onbeforeunload 可以做到。
1、onbeforeunload事件:
说明:目前三大主流浏览器中firefox和IE都支持onbeforeunload事件,opera尚未支持。
用法:
·object.onbeforeunload = handler
·<element onbeforeunload = “handler” … ></element>
描述:
事件触发的时候弹出一个有确定和取消的对话框,确定则离开页面,取消则继续待在本页。handler可以设一个返回值作为该对话框的显示文本。
说明:目前三大主流浏览器中firefox和IE都支持onbeforeunload事件,opera尚未支持。
用法:
·object.onbeforeunload = handler
·<element onbeforeunload = “handler” … ></element>
描述:
事件触发的时候弹出一个有确定和取消的对话框,确定则离开页面,取消则继续待在本页。handler可以设一个返回值作为该对话框的显示文本。
触发于:
·关闭浏览器窗口
·通过地址栏或收藏夹前往其他页面的时候
·点击返回,前进,刷新,主页其中一个的时候
·点击 一个前往其他页面的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+
示例:
·关闭浏览器窗口
·通过地址栏或收藏夹前往其他页面的时候
·点击返回,前进,刷新,主页其中一个的时候
·点击 一个前往其他页面的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+
示例:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>onbeforeunload测试</title>
<script>
function checkLeave(){
event.returnValue="确定离开当前页面吗?";
}
</script>
</head>
<body onbeforeunload="checkLeave()">
</body>
</html>
<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>onbeforeunload测试</title>
<script>
function checkLeave(){
event.returnValue="确定离开当前页面吗?";
}
</script>
</head>
<body onbeforeunload="checkLeave()">
</body>
</html>
但是onbeforeunload有个小毛病,就是页面刷新时,他还是会调用到onbeforeunload,为什么?其实刷新就相当于关闭了这个IE再重新打开的意思,因此还是会调用到onbeforeunload。
究竟怎么解决刷新不调用onbeforeunload呢?
网上提供很多方法,本人觉得最实用还是以下这段JS
window.onbeforeunload = function(){
var n = window.event.screenX - window.screenLeft;
var b = n > document.documentElement.scrollWidth-20;
if(b && window.event.clientY < 0 || window.event.altKey)
{
alert("是关闭而非刷新");
window.event.returnValue = "是否关闭?";
}else{
alert("是刷新而非关闭");
}
}
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->var n = window.event.screenX - window.screenLeft;
var b = n > document.documentElement.scrollWidth-20;
if(b && window.event.clientY < 0 || window.event.altKey)
{
alert("是关闭而非刷新");
window.event.returnValue = "是否关闭?";
}else{
alert("是刷新而非关闭");
}
}
2、onunload事件
用法:
·object.onbeforeunload = handler
·<element onbeforeunload = "handler"></element>
用法:
·object.onbeforeunload = handler
·<element onbeforeunload = "handler"></element>
描述:
当用户关闭一个页面时触发 onunload 事件。
触发于:当用户关闭一个页面时触发 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的表单的时候。
示例:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>onunload测试</title>
<script>
function checkLeave(){
alert("欢迎下次再来!");
}
</script>
</head>
<body onunload="checkLeave()">
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>onunload测试</title>
<script>
function checkLeave(){
alert("欢迎下次再来!");
}
</script>
</head>
<body onunload="checkLeave()">
</body>
</html>
相关推荐
`onbeforeunload`事件是在用户尝试关闭窗口、标签页或者刷新页面时触发的。这是一个非常有用的事件,因为它允许开发者在用户真正离开页面之前执行一些代码,例如提示用户是否真的想离开当前页面、保存表单数据等。 ...
4.把备份数据库中USERS表中的所有数据复制到新doms.mdb数据库的USERS表中,并把现有的doms.mdb数据库SEQUENCES表中的USER_SEQ字段值改为USERS表中USER_ID最大值+1,关闭所有数据库文件 5.访问td,打开管理员界面,...
【Google Reader关闭与RSS订阅备份转移】 随着Google宣布Google Reader将在2021年7月1日后停止服务,用户需要采取行动备份并转移他们的RSS订阅。Google提供了Google Takeout服务,让用户可以方便地导出包括追踪列表...
4. **等待完成**:还原过程可能需要一段时间,期间不应中断电源或强制关闭计算机。 5. **重启电脑**:还原完成后,通常需要重启电脑,系统将以还原后的状态启动。 GGGhost支持的系统备份和还原功能,对于个人用户和...
在需要强制恢复,即关闭其他用户进程时,可以使用`STOPAT`参数配合`NORECOVERY`使用,确保在特定时间点进行数据恢复。 ### 四、作业创建SQL语句的使用 为了自动化备份和恢复操作,可以创建SQL Server代理作业。...
// 关闭连接 mysqli_close($conn); echo "Database restored successfully."; ?> ``` 这段代码首先连接到MySQL服务器,然后读取SQL备份文件内容,逐条执行SQL语句。请注意,这可能导致数据丢失,所以在生产环境中...
这涉及到加载数据库驱动、建立连接、执行SQL语句以及关闭连接等步骤。 3. **数据库备份**:备份数据库是为了防止数据丢失或损坏。常见的方法有全量备份、增量备份和差异备份。在JSP程序中,可以编写SQL脚本来导出...
7. **定时备份**:虽然示例代码是在按钮点击事件中执行的,但在实际应用中,数据库备份可能需要定期自动化,这可以通过计划任务或SQL Server自身的作业来实现,而不是每次由用户手动触发。 8. **其他考虑**:除了...
该备份和恢复策略体现了全面性和层次性,不仅关注数据库层面,还覆盖了系统的其他关键组成部分,如接口服务器和页面服务器,确保在故障发生时能迅速恢复业务运营,降低损失。这样的策略对于任何依赖于数据库服务的...
在这个压缩包文件中,"verycd(进去之后找到index.htm打开)"提示我们,备份文件是以HTML格式存储的verycd索引页面。HTML文件是网页的基础,它包含了网页的结构和内容。通过解压缩并打开index.htm,我们可以浏览到...
描述中提到的"鼠标指向选定tabPage的关闭键时,关闭键变色,鼠标指向其他标签变色",这是通过鼠标悬停事件和颜色改变来实现的。开发者可能使用了C#或VB.NET等.NET Framework语言,通过代码监听鼠标移动事件,动态...
在实际测试中,通过关闭和打开接口模拟线路中断,我们可以看到数据发送方向能够根据链路状态自动切换,确保了网络的高可用性和业务连续性。这种解决方案不仅实现了冗余备份,还通过负载均衡在多个ISP之间分散流量,...
【Struts框架下实现从页面备份还原数据库】 在Java企业级开发中,Struts框架是一个常用的MVC(Model-View-Controller)框架,用于构建Web应用程序。本文将介绍如何在Struts1.2框架下利用JSP页面实现数据库的备份与...
双向备份:档案备份工作可以选择备份本机硬盘数据至外接硬盘或是将外接硬盘的数据备份至本机硬盘数据夹(请参考下图),若关闭双向备份则备份方向选择按钮则无法选取(如何开启双向备份功能可以参考设定清单之备份...
`更多软件点击进入.url`是一个链接文件,可能指向一个网页,上面列出了更多可用于备份SHSH或其他iOS相关操作的软件工具。这个链接可以作为进一步研究和学习的资源,尤其是当你需要探索其他备份方法或者解决特定问题...
- `@echo off` 关闭命令行的回显。 - `ORACLE_HOME` 和 `PATH` 设置指向Oracle的安装目录,确保能正确执行SQL*Plus。 - `ORACLE_SID` 设定数据库实例名。 - `sqlplus /nolog @backup_script.sql` 连接到数据库并执行...
- **启用/禁用自动备份**:在此界面,你可以开启或关闭自动备份功能。 - **设置备份间隔时间**:如果启用自动备份,还可以自定义备份的时间间隔,例如每5分钟备份一次。 - **指定备份文件夹路径**:此外,还可以...
在后续的增量备份中,只备份那些自上次备份以来发生更改的数据页(即LSN值大于上次备份LSN值的页面),并更新检查点的LSN。这个过程涉及到了InnoDB的checkpoint机制和redo log的使用,确保了即使在数据修改的同时也...
驱动备份和还原是维护计算机系统稳定性和性能的重要...值得注意的是,备份驱动前最好关闭所有正在运行的应用程序,以避免备份过程中出现冲突或错误。同时,保持驱动精灵的更新,可以确保它能识别和处理最新的硬件驱动。