浏览器窗口关闭事件的监听搜集

摘要:
“;returnwarning;}函数onunload_handler(){varwarning=”谢谢您的光临“;alert;}-----------------------------------------------------------------------------------------------方法3:应用于IE和FF,而不考虑刷新和关闭。最简单的窗口。onbeforeunload=onclose;functiononclose(){return“是否确实要退出?”;}------------------------------------------------------------------------------模式4:适用于IE和FF,无论刷新和关闭,稍复杂varMSG_UNLOAD=“如果此时离开文件系统,所有操作信息都将丢失。是否要离开?

转自:http://www.2cto.com/kf/201108/100769.html

方式一:(适用与IE浏览器,而且刷新不提示,只在点击浏览器关闭按钮的时候提示)
<script type="text/javascript">
window.onbeforeunload=onclose;
function onclose()
{
if(event.clientX>document.body.clientWidth&&event.clientY<0||event.altKey)
{
return "您要离开吗?";
}
}
</script>
----------------------------------------------------------------------------------------------------
方式二:适用与IE和FF,不区分刷新和关闭
<script type="text/javascript">  
   
    window.onbeforeunload = onbeforeunload_handler;  
    window.onunload = onunload_handler;  
    function onbeforeunload_handler(){  
        var warning="确认退出?";          
        return warning;  
    }  
      
    function onunload_handler(){  
        var warning="谢谢光临";  
        alert(warning);  
    }  
 
</script>  
---------------------------------------------------------------------------------------------------
方式三:适用与IE和FF,不区分刷新和关闭,最简单的
<script type="text/javascript">
window.onbeforeunload=onclose;
function onclose()

return "您确定退出吗?";

}
</script>
---------------------------------------------------------------------------------------------------
方式四:适用与IE和FF,不区分刷新和关闭,稍复杂的
<script language="javascript">
var MSG_UNLOAD="如果你此时离开档案系统,所做操作信息将全部丢失,是否离开?";

var UnloadConfirm = {};

//启用监听浏览器刷新、关闭的方法
UnloadConfirm.set = function(confirm_msg){
    window.onbeforeunload = function(event){
        event = event || window.event;
        event.returnValue = confirm_msg;
    }
}

//关闭监听浏览器刷新、关闭的方法

UnloadConfirm.clear = function(){
    window.onbeforeunload = function(){};
}
UnloadConfirm.set(MSG_UNLOAD);

</script>
--------------------------------------------------------------------------------------------------
方式五:只适用于IE6下的关闭按钮和快捷键关闭的,刷新不提示
<script type="text/javascript">
window.onbeforeunload=onclose;
function onclose()

var warnning = '<fmt:message key="systemMessage.exitWarning" />';
var beforeExit='<fmt:message key="systemMessage.beforeExitWarning" />';
  if(event.clientY<0  &&  event.clientX>document.body.clientWidth-20  ||  event.clientY<0  &&  event.clientX<20  ||
event.altKey || event.ctrlKey ||  event.clientY>document.body.clientHeight){

alert(beforeExit);
return warnning;
}     
}
</script>
****************************************************************************************************
另附判断浏览器类型的JS
<script type="text/javascript">
        var Sys = {};
        var ua = navigator.userAgent.toLowerCase();
        if (window.ActiveXObject)
            Sys.ie = ua.match(/msie ([d.]+)/)[1]
        else if (document.getBoxObjectFor)
            Sys.firefox = ua.match(/firefox/([d.]+)/)[1]
        else if (window.MessageEvent && !document.getBoxObjectFor)
            Sys.chrome = ua.match(/chrome/([d.]+)/)[1]
        else if (window.opera)
            Sys.opera = ua.match(/opera.([d.]+)/)[1]
        else if (window.openDatabase)
            Sys.safari = ua.match(/version/([d.]+)/)[1];
       
        //以下进行测试
        if(Sys.ie) document.write('IE: '+Sys.ie);
        if(Sys.firefox) document.write('Firefox: '+Sys.firefox);
        if(Sys.chrome) document.write('Chrome: '+Sys.chrome);
        if(Sys.opera) document.write('Opera: '+Sys.opera);
        if(Sys.safari) document.write('Safari: '+Sys.safari);

    </script>
---------------------------------------------------------------------------------------------------
区分浏览器,IE和FF分别处理(奇怪的是,IE下有时候失效)
<script type="text/javascript">
window.onbeforeunload=onclose;
function onclose()

var Sys = {};
var warnning = '<fmt:message key="systemMessage.exitWarning" />';
        var ua = navigator.userAgent.toLowerCase();
        if (window.ActiveXObject)
            Sys.ie = ua.match(/msie ([d.]+)/)[1]
        else if (document.getBoxObjectFor)
            Sys.firefox = ua.match(/firefox/([d.]+)/)[1]
        if(Sys.ie) {//for IE
if(event.clientX>document.body.clientWidth&&event.clientY<0||event.altKey)   
{      
window.event.returnValue = warnning ;    
}   
}
        if(Sys.firefox) //for FF
        return warnning;
}
    </script>
--------------------------------------------
最简单的判断浏览器类型的方法
<script type="text/javascript">
if(-[1,]){
     alert("这不是IE浏览器!");
}else{
     alert("这是IE浏览器!");
}
</script>
[1,]在标准浏览器会返回字符串"1",相当于调用[1,].toString,
,IE则返回"1,"。但是这样IE与标准都会通过检测,因此使用负号强制转换为数字,
标准能成功转换为1,1会在if中自动转换为true,而IE则转换为NaN,再自动转换为false!

免责声明:文章转载自《浏览器窗口关闭事件的监听搜集》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇CSS3 -- 背景原点(background-origin)MYSQL学习笔记——连接以及存储过程下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

使用Roslyn脚本化C#代码,C#动态脚本实现方案

【前言】   Roslyn 是微软公司开源的 .NET 编译器。   编译器支持 C# 和 Visual Basic 代码编译,并提供丰富的代码分析 API。   Roslyn不仅仅可以直接编译输出,难能可贵的就是上述描述中的开放了编译的API,使得代码脚本化成为了可能。   关于Roslyn,本文不做过多介绍,因为再介绍的丰满终究不及官方文档介绍的细腻,...

Bootstrap 环境安装

下载 Bootstrap 可以从 http://getbootstrap.com/ 上下载 Bootstrap 的最新版本。当点击这个链接时,将看到如下所示的网页: 您会看到两个按钮: Download Bootstrap:下载 Bootstrap。点击该按钮,您可以下载 Bootstrap CSS、JavaScript 和字体的预编译的压缩版本。不包含文...

如何用BlazeDS更改图片

相信大家在实际应用中肯定会碰到这样的问题:如何动态更改网元图片或者Topo背景?本文用具体实例演示了如何从本地上传图片到服务器,并设置为Topo背景。 首先介绍一下本文用到的技术: 1. FileReferenceFileReference用于从本地打开文件,而且需要添加编译选项:-target-player=10.0.0。关于FileReference的...

IP地址查询接口及调用方法

设计蜂巢IP地址查询接口:http://www.hujuntao.com/api/ip/ip.php 腾讯IP地址查询接口:http://fw.qq.com/ipaddress 新浪IP地址查询接口:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js 搜狐IP地址查询接口:http:/...

【转】linux 定时执行shell脚本

在oracle 中可以利用dbms_job包定时执行pl/sql、sql过程,在像备份等需要在操作系统级定时任务只能采用crontab来完成 本文讲述crontab具体用法,以供备忘. 在oracle 中可以利用dbms_job包定时执行pl/sql、sql过程,在像备份等需要在操作系统级定时任务只能采用crontab来完成 利用crontab来定时执行任...

使用RemObjects Pascal Script (转)

http://www.cnblogs.com/MaxWoods/p/3304954.html 摘自RemObjects Wiki 本文提供RemObjects Pascal Script的整体概要并演示如何创建一些简单的脚本. Pascal Script包括两个不同部分: 编译器 (uPSCompiler.pas) 运行时 (uPSRuntime.pas...