由于浏览器是无状态的,在这时候捕捉浏览器关闭会出现两种情况:
1.真正的关闭浏览器 (a.点击关闭按钮 b.右击任务栏关闭 c.按alt+F4关闭)
2.刷新浏览器。
那如何判断区分这两种动作呢?
一. Javascript代码处理方法:
function window.onbeforeunload()
{
//用户点击浏览器右上角关闭按钮或是按alt+F4关闭
if(event.clientX>document.body.clientWidth&&event.clientY<0||event.altKey)
{
// alert("点关闭按钮");
document.getElementById("hiddenForm:hiddenBtn").click();
// window.event.returnValue="确定要退出本页吗?";
}
//用户点击任务栏,右键关闭。s或是按alt+F4关闭
else if(event.clientY > document.body.clientHeight || event.altKey)
{
// alert("任务栏右击关闭");
document.getElementById("hiddenForm:hiddenBtn").click();
// window.event.returnValue="确定要退出本页吗?";
}
//其他情况为刷新
else
{
// alert("刷新页面");
}
}
其中 event.clientX 鼠标光标X坐标
document.body.clientWidth 窗体工作区宽度
event.clientY 鼠标光标Y坐标
event.altKey 是否按下alt键
二. 事件捕捉方法:
<body scroll="no" onbeforeunload="return CloseEvent();" onunload="UnLoadEvent()" >
</body>
<script language="JavaScript" type="text/javascript">
var DispClose = true;
function CloseEvent()
{
if (DispClose)
{
return "是否离开当前页面?";
}
}
function UnLoadEvent()
{
DispClose = false;
//在这里处理关闭页面前的动作
}
在页面卸载之前引发onbeforeunload事件,如果用户选择“是”即确定卸载页面将引发onunload事件,否则返回页面不做任何操作。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xiaolei2009/archive/2009/10/04/4632412.aspx捕获浏览器关闭、刷新事件(点击关闭按钮、右击任务栏关闭、Alt+F4关闭)
分享到:
相关推荐
在Windows操作系统中,Alt+F4快捷键通常用于关闭当前活动窗口,这是一项基本的用户交互功能。然而,在某些特殊的应用场景下,开发者可能希望禁用这个功能,以防止用户意外或恶意关闭程序,例如在数据保存过程中或者...
- **编程实现**:如果你是软件开发者,可以编程来捕获并忽略ALT+F4事件。在Windows编程中,通常使用Win32 API函数来处理消息。例如,对于基于C++和Windows API的程序,可以重载`TranslateAccelerator`函数,使其不...
在做一些关于会员在线的问题时,往往我们要根据览器是否... Javascript代码处理方法: 代码如下: function [removed]() { //用户点击浏览器右上角关闭按钮或是按alt+F4关闭 if(event.clientX>document.body.clientWid
截获窗体的Alt+F4关闭窗口事件的代码
当用户通过点击浏览器的关闭按钮或通过其他方式(如刷新页面)离开当前页面时,此事件将被触发。由于其触发时机的特殊性,`onunload` 常被用来执行一些清理工作,如清除定时器、保存用户数据等。 **注意**:`...
捕获Ctrl、Ctrl+Alt和Ctrl+Alt+Shift组合键 捕获Ctrl、Ctrl+Alt和Ctrl+Alt+Shift组合键 捕获Ctrl、Ctrl+Alt和Ctrl+Alt+Shift组合键 捕获Ctrl、Ctrl+Alt和Ctrl+Alt+Shift组合键
在易语言中,我们需要编写一段代码来捕获键盘事件,并在检测到Alt+F4时阻止窗口关闭。以下是一个简单的示例代码: ```易语言 .程序集 窗口 .子程序 _创建完毕 .局部变量 key_event, 键盘事件 .循环 .如果 键盘...
在易语言中,我们可以编写一段事件处理程序来捕获并阻止Alt+F4的默认行为。下面是一个简单的示例源码,展示了如何实现这一功能: ```易语言 .程序集 窗口 .子程序 _初始化窗口 .局部变量 i, 整数型 ' 注册热键,...
在Windows操作系统中,Ctrl+Alt+Delete键组合通常用于启动任务管理器和其他系统级操作,如锁定计算机或注销用户。然而,在某些特定的应用场景下,开发者可能需要禁用这个组合键,例如为了防止非法操作或者保护应用...
"禁止Alt+F4关闭窗口例程"就是这样一个技术点,它涉及到用户界面(UI)的交互逻辑和事件处理。易语言作为一款中文编程环境,为初学者提供了相对简单的学习曲线,同时也支持这样的功能实现。 Alt+F4是Windows操作...
文件只是几句JS代码,看了就明白。直接把这个方法放到JS中就OK了。
在易语言中,要实现禁用这一功能,我们需要捕获键盘事件并拦截Alt+F4的组合键。这通常涉及到以下几个核心知识点: 1. **事件驱动编程**:易语言采用事件驱动的编程模型,程序的运行基于用户操作或者其他外部事件。...
这段代码会捕获Alt+F4键的按下事件,并阻止其默认行为(关闭窗口)。 其次,"抖动窗体"是指让窗口在屏幕上来回快速移动,通常用于吸引用户的注意力。在QQ等即时通讯软件中,当收到新消息时,会看到好友的聊天窗口在...
在Delphi中,要实现屏蔽Alt+F4的功能,通常需要编写代码来捕获并处理这个键盘事件。这涉及到对窗口消息的处理,尤其是WM_SYSCOMMAND消息,因为Alt+F4就是通过发送这个消息来关闭窗口的。下面是一个简化的Delphi代码...
本文将深入探讨如何在VB.NET程序中实现屏蔽Alt+F4组合键的功能,这一操作通常用于关闭当前活动窗口。通过理解并应用以下知识点,你将能够有效地控制你的应用程序如何响应这一常见的快捷键。 ### 1. 理解`...
本文将深入探讨如何使用C#语言实现一个具备特定功能的锁屏程序,包括隐藏任务栏、屏蔽"Ctrl+Alt+Del"快捷键以及防止通过"Alt+Tab"切换到其他应用。 首先,C#是微软公司推出的一种面向对象的编程语言,它基于.NET...
在Windows系统中,任务管理器可以通过按下Ctrl+Shift+Esc或Ctrl+Alt+Del组合键打开。为了屏蔽任务管理器,我们可以在键盘钩子(Keyboard Hook)中捕获这些组合键,防止其执行。我们可以使用`System.Windows.Forms....
9.如何捕获Ctrl、Ctrl+Alt和Ctrl+Alt+Shift组合键?(Visual C++编程 源代码)9.如何捕获Ctrl、Ctrl+Alt和Ctrl+Alt+Shift组合键?(Visual C++编程 源代码)9.如何捕获Ctrl、Ctrl+Alt和Ctrl+Alt+Shift组合键?...
在Windows操作系统中,开发者有时需要对用户的键盘输入进行特殊处理,例如在某些安全软件或者特定应用中,为了防止用户通过`Ctrl+Alt+Delete`组合键退出程序或唤起任务管理器,会采用键盘钩子(Keyboard Hook)技术...
在IT领域,尤其是在软件开发中,有时需要对特定的系统功能键进行控制,例如屏蔽`Ctrl+Alt+Delete`这样的组合键。这个操作通常在特殊的应用场景下进行,比如游戏或者安全相关的应用程序,以防止用户意外中断或退出...