`

捕获浏览器关闭、刷新事件(点击关闭按钮、右击任务栏关闭、Alt+F4关闭)

    博客分类:
  • js
阅读更多

由于浏览器是无状态的,在这时候捕捉浏览器关闭会出现两种情况:
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关闭)

 

分享到:
评论

相关推荐

    完整版真正的禁止Alt+F4关闭窗口例程.rar

    在Windows操作系统中,Alt+F4快捷键通常用于关闭当前活动窗口,这是一项基本的用户交互功能。然而,在某些特殊的应用场景下,开发者可能希望禁用这个功能,以防止用户意外或恶意关闭程序,例如在数据保存过程中或者...

    完整版巧妙的方法-禁止ALT&F4关闭程序.rar

    - **编程实现**:如果你是软件开发者,可以编程来捕获并忽略ALT+F4事件。在Windows编程中,通常使用Win32 API函数来处理消息。例如,对于基于C++和Windows API的程序,可以重载`TranslateAccelerator`函数,使其不...

    捕获浏览器关闭、刷新事件不同情况下的处理方法

    在做一些关于会员在线的问题时,往往我们要根据览器是否... Javascript代码处理方法: 代码如下: function [removed]() { //用户点击浏览器右上角关闭按钮或是按alt+F4关闭 if(event.clientX&gt;document.body.clientWid

    截获窗体的Alt+F4关闭消息的代码

    截获窗体的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组合键 捕获Ctrl、Ctrl+Alt和Ctrl+Alt+Shift组合键

    禁止Alt+F4关闭窗口

    在易语言中,我们需要编写一段代码来捕获键盘事件,并在检测到Alt+F4时阻止窗口关闭。以下是一个简单的示例代码: ```易语言 .程序集 窗口 .子程序 _创建完毕 .局部变量 key_event, 键盘事件 .循环 .如果 键盘...

    易语言禁止Alt+F4关闭窗口例程源码

    在易语言中,我们可以编写一段事件处理程序来捕获并阻止Alt+F4的默认行为。下面是一个简单的示例源码,展示了如何实现这一功能: ```易语言 .程序集 窗口 .子程序 _初始化窗口 .局部变量 i, 整数型 ' 注册热键,...

    vc禁用Window的Ctrl+Alt+Delete组合键.visual c++

    在Windows操作系统中,Ctrl+Alt+Delete键组合通常用于启动任务管理器和其他系统级操作,如锁定计算机或注销用户。然而,在某些特定的应用场景下,开发者可能需要禁用这个组合键,例如为了防止非法操作或者保护应用...

    禁止Alt+F4关闭窗口例程

    "禁止Alt+F4关闭窗口例程"就是这样一个技术点,它涉及到用户界面(UI)的交互逻辑和事件处理。易语言作为一款中文编程环境,为初学者提供了相对简单的学习曲线,同时也支持这样的功能实现。 Alt+F4是Windows操作...

    捕获窗体关闭事件包括ALT+F4

    文件只是几句JS代码,看了就明白。直接把这个方法放到JS中就OK了。

    禁止Alt+F4关闭窗口.zip易语言项目例子源码下载

    在易语言中,要实现禁用这一功能,我们需要捕获键盘事件并拦截Alt+F4的组合键。这通常涉及到以下几个核心知识点: 1. **事件驱动编程**:易语言采用事件驱动的编程模型,程序的运行基于用户操作或者其他外部事件。...

    屏蔽alt+f4 抖动窗体

    这段代码会捕获Alt+F4键的按下事件,并阻止其默认行为(关闭窗口)。 其次,"抖动窗体"是指让窗口在屏幕上来回快速移动,通常用于吸引用户的注意力。在QQ等即时通讯软件中,当收到新消息时,会看到好友的聊天窗口在...

    批处理 /delphi 屏蔽系统默认alt f4 关闭

    在Delphi中,要实现屏蔽Alt+F4的功能,通常需要编写代码来捕获并处理这个键盘事件。这涉及到对窗口消息的处理,尤其是WM_SYSCOMMAND消息,因为Alt+F4就是通过发送这个消息来关闭窗口的。下面是一个简化的Delphi代码...

    vb.net程序中屏蔽alt+f4的程序

    本文将深入探讨如何在VB.NET程序中实现屏蔽Alt+F4组合键的功能,这一操作通常用于关闭当前活动窗口。通过理解并应用以下知识点,你将能够有效地控制你的应用程序如何响应这一常见的快捷键。 ### 1. 理解`...

    C#锁屏程序(隐藏任务栏/屏蔽CRT+ALT+DEL快捷键)

    本文将深入探讨如何使用C#语言实现一个具备特定功能的锁屏程序,包括隐藏任务栏、屏蔽"Ctrl+Alt+Del"快捷键以及防止通过"Alt+Tab"切换到其他应用。 首先,C#是微软公司推出的一种面向对象的编程语言,它基于.NET...

    C#写出的挂机锁,屏蔽任务管理器,屏蔽Alt+F4

    在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组合键?(Visual C++编程 源代码)9.如何捕获Ctrl、Ctrl+Alt和Ctrl+Alt+Shift组合键?...

    C# 键盘钩子例子 可屏蔽Ctrl+Alt+Delete

    在Windows操作系统中,开发者有时需要对用户的键盘输入进行特殊处理,例如在某些安全软件或者特定应用中,为了防止用户通过`Ctrl+Alt+Delete`组合键退出程序或唤起任务管理器,会采用键盘钩子(Keyboard Hook)技术...

    屏蔽系统热键ctrl+alt+delete

    在IT领域,尤其是在软件开发中,有时需要对特定的系统功能键进行控制,例如屏蔽`Ctrl+Alt+Delete`这样的组合键。这个操作通常在特殊的应用场景下进行,比如游戏或者安全相关的应用程序,以防止用户意外中断或退出...

Global site tag (gtag.js) - Google Analytics