由于浏览器是无状态的,在这时候捕捉浏览器关闭会出现两种情况:
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关闭)
分享到:
相关推荐
在做一些关于会员在线的问题时,往往我们要根据览器是否... Javascript代码处理方法: 代码如下: function [removed]() { //用户点击浏览器右上角关闭按钮或是按alt+F4关闭 if(event.clientX>document.body.clientWid
截获窗体的Alt+F4关闭窗口事件的代码
捕获Ctrl、Ctrl+Alt和Ctrl+Alt+Shift组合键 捕获Ctrl、Ctrl+Alt和Ctrl+Alt+Shift组合键 捕获Ctrl、Ctrl+Alt和Ctrl+Alt+Shift组合键 捕获Ctrl、Ctrl+Alt和Ctrl+Alt+Shift组合键
文件只是几句JS代码,看了就明白。直接把这个方法放到JS中就OK了。
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组合键?...
7.如何捕获Alt和Shift+Alt组合键?(Visual C++编程 源代码)7.如何捕获Alt和Shift+Alt组合键?(Visual C++编程 源代码)7.如何捕获Alt和Shift+Alt组合键?(Visual C++编程 源代码)7.如何捕获Alt和Shift+Alt组合...
捕获网页关闭事件捕获网页关闭事件捕获网页关闭事件捕获网页关闭事件
CaptureIEEvent(浏览器事件捕获控件测试程序)
e.returnValue = '关闭提示'; } // Chrome, Safari, Firefox 4+, Opera 12+ , IE 9+ return '关闭提示'; }; 2、在生命周期钩子中注册监听事件 methods: { beforeunloadHandler (e) { // ... } } 在 mounted
捕获Alt和Shift+Alt组合键 捕获Alt和Shift+Alt组合键 捕获Alt和Shift+Alt组合键 捕获Alt和Shift+Alt组合键
鼠标坐标 右击 捕获,屏幕坐标,设备坐标,逻辑坐标直接的关联与转换。
在C#的WebBrowse控件中捕获 MouseClick 或 MouseDown事件的方法。
ie事件捕获控件,监视浏览器到程序,ie打开窗口 提前截获 组织打开弹出窗口
1. C# winform 捕获快捷键 CTRL + ALT + DEL和Win + L 2. 程序只允许运行一次 可用于监听键盘按键
实现弹出窗口与主界面的分离,只要点击弹出窗口的其他部分就可以关闭弹出窗口。
vs2013 c++ bho简单实现捕获浏览器404断网
QT实时捕获鼠标及键盘事件 实时显示当前鼠标的状态以及坐标 实时捕获键盘按键
主要介绍了C# Winform实现捕获窗体最小化、最大化、关闭按钮事件的方法,可通过重写WndProc来实现,需要的朋友可以参考下
可以利用C#来捕获Windows的关机事件,里面有详细的代码