说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

Javascript如何检测浏览器关闭了小叉叉

HTML文档下载 WORD文档下载 PDF文档下载
有时候我们需要在浏览器关闭前做一些工作,这就涉及到了关闭事件的检测。

有时候我们需要在浏览器关闭前做一些工作,这就涉及到了关闭事件的检测。

下面是一个很简单的例子:

 

function CheckBrowser(){     // 检测浏览器关闭 [X] , Alt+F4 , 文件 -> 关闭       if(window.event.clientX < 0 && window.event.clientY <0)    {          window.open("Operation.aspx",                 "Operation",'left=12000,top=1200,width=10,height=1');    }}
上面的代码实现了检测事件动作的位置,并打开一个新的窗口。
从Body Unload中挂接上CheckBrowser函数即可。

 

上面的代码实现了检测事件动作的位置,并打开一个新的窗口。

从Body Unload中挂接上CheckBrowser函数即可。

下面我们看一下如何挂接这个事件的例子:
<html><head><title>检测浏览器退出</title><script type="text/javascript" language="Javascript">function DetectBrowserExit(){   alert('退出前想要执行的任务');}window.onbeforeunload = function(){ DetectBrowserExit(); }</script></head><body>检测浏览器退出</body></html>
如果你使用JQuery,则可以这样做:
$(document).ready(function() {    $(window).bind("beforeunload", function(e) {            if (!e) e = window.event;            returnValue = '您真的要关闭吗?';            e.returnValue = returnValue;            return returnValue;    });});
在下面这些浏览器都可以运行:
Internet Explorer
Mozilla Firefox
Google Chrome
Safari
但在某些浏览器,例如Opera中并不支持onbeforeunload,这个时候如果我需要检测表单中内容更改,在关闭窗口前给一个提示,我们可以使用一个叫FormNavigate的JQuery插件,
插件的源代码如下(jquery.FormNavigate.js):
/** * addon by Egor SpirITzzz Dubrovsky (http://spiritzzz.com/) * jQuery.FormNavigate.js * jQuery Form onChange Navigate Confirmation plugin * Browser Compatibility : IE 6.0, 7.0, 8.0; Firefox 2.0+;  Safari 3+; Opera 9+; Chrome 1+; * * Copyright (c) 2009 Law Ding Yong *  * Licensed under the MIT license: * http://www.opensource.org/licenses/mit-license.php * * See the file license.txt for copying permission. */  /**  * Documentation :  * ==================  *  * How to Use:  * $("YourForm").FormNavigate("YourMessage");  *  -- "YourForm" as Your Form ID $("#form") or any method to grab your form  *  -- "YourMessage" as Your onBeforeUnload Prompt Message Here  * Addon:  * $("YourForm").FormNavigate({  *     message: "Message! \n Confirm?",  *     aOutConfirm: "#DivID a.confirm, #DivID2 a"  * });  * aOutConfirm - optional, default - a;  *  * This plugin handles onchange of input type of text, textarea, password, radio, checkbox and file to toggle on and off of window.onbeforeunload event.  * Users are able to configure the custom onBeforeUnload message.  */var global_formNavigate = true;		// Js Global Variable for onChange Flag(function($){    $.fn.FormNavigate = function(options){        window.onbeforeunload = confirmExit;                var defaults = {             message: '',                      aOutConfirm: 'a[target!=_blank][target!=blank]'                 };        var settings = $.extend(false, defaults, options);                 function confirmExit(){              if (global_formNavigate){}            else {                return settings.message;             }        }               if (options.aOutConfirm && options.aOutConfirm != defaults.aOutConfirm){               $(settings.aOutConfirm).each(function(){                $(this+"[target!=_blank][target!=blank]").addClass("aOutConfirmPlugin");                   });            $("a:not([class~='aOutConfirmPlugin'], a[target!=_blank][target!=blank])").click(function(){                    global_formNavigate = true;                   });        }                $(settings.aOutConfirm).click(function(){            if (global_formNavigate == false){                if(confirm(settings.message)){                    global_formNavigate = true;                    return true;                }  else return false;            }        });        $(this).find("input[type=text], input[type='textarea'], input[type='password'], input[type='radio'], input[type='checkbox'], input[type='file']").live('change keypress', function(event){            global_formNavigate = false;        });                $(this+ ":submit").click(function(){            global_formNavigate = true;        });    }})(jQuery);
使用方法举例:
<script type="text/javascript" src="jquery.FormNavigate.js"></script>    <script type="text/javascript">	$(document).ready(function(){        $("form").FormNavigate({            message: "表单已经改变! \n 你真的要关闭本页面吗?",            aOutConfirm: "a.confirm"        });    });    </script><form method="get" enctype="text/plain">    <input value="Input test"/><br /><br />    <textarea>Textarea test</textarea><br /><br />    <input type="submit" value="Send"/></form>

 

 

 

WhatsApp:50名员工,月4亿活跃用户,日160亿条消息和5亿张图片 三星Galaxy Gear智能手表失利 需改进的8个方面 IE11全新的F12开发人员工具详解 研发周报:为什么开发者担心将代码公布 Hadoop YARN的发展史与详细解析 一周消息树:Firefox OS会不会成为下一个Android PhoneGap 3.3.0发布,支持Android 4.4 KitKat 移动周报:两岸三地在线编程学习网站大搜罗 有道周枫和他的“放养”团队 看IE11如何助力AAF推动公益事业 SUSE总裁Nils:将SUSE Cloud 2.0打造成“零影响的云安装程序” Windows 8之父Steven Sinofsky:2014年科技界的十大趋势 电视盒子还没智能化?看Fan TV们怎么玩 畅游启动“必赢计划” 十亿巨资代理优质产品 数据控使用Hadoop的三种最常用方式 值得创始人学习的五大企业文化管理方式 圣诞节快乐:来自程序员们的问候 宏碁任命新CEO Jason Chen:曾任职英特尔14年、台积电8年 史上第一次越狱发布会与Evad3rs太极助手罗生门 新东方在线CTO曾明:已用Cocos2d-html5开发出150余款产品 Facebook 2013年的9个开源项目 开源力量公开课2013年度庆典:我们的开源项目 看雪学院“走进企业看安全”活动走进安全管家 视频+PPT:苹果iOS7 Tech Talks大会演讲内容 iPhone 6和Galaxy S5暂不会采用弯曲屏技术 当程序不工作时,开发者常用的借口 携程技术副总裁叶亚明:三次重大技术改进的故事及背后原因 Google抛弃C语言,采用Go语言重写Go编译器 jQuery Mobile 1.4.0正式版发布,着重性能改进 IBM收购Aspera加速大数据传输 各式各样的极品程序员,你属于哪一种 对象,实例,reference有什么区别吗 程序员有时间交女朋友吗????????? 怎样做才能使后面的子程序在前面子程序已经画好的图形里添加画线? 哪里有VC6的英文版下载呀,市场上买不到英文的呀 大家说说看,vc连接access的应用程序,用什么做显示数据好。 有没有雷锋?! ccnuxjg(阿木) 各位高人,我GG考我一个谜语,限我今天答复,请大家帮帮我。(四字成语) 怎样删除重复的行(mssql) 一个页面,如何实现左边为链接信息,右边为内容? 关于模式对话框的问题 项目实战两问,关于操作系统和光盘运行,高手请进! 怎样判断发信成功 CDONTS.NewMail 在杭州搞JSP的,请进来交换QQ,邮件!我们需要交流! 如何用sendmessage让一个窗口最小化 我想把COM+组件的客户端安装包打到install shield 的安装包中,并且自动安装com+客户端安装包,可是。。。。 word2000中不能使用打印功能,为什么? CSDN是怎么了,三天两头出问题啊~!!!!!!!!!!!!!!!!!!!!!!!!!!!!! OleContainer.SaveToFile的文件用Word怎么打不开? vb的多线程如何实现? 这句话是什么意思!!!! 有个女孩问我的代码理论问题……紧急!!有请各路大仙 指针与数组常通用,但一个存值,一个存地址,能不能讲一下他们的内存如何分配,怎样互用的 我一和女朋友有矛盾时,就感到浑身无力,什么也做不下去,脑袋乱七八糟的,做什么都不专一,直到问题解决,不知大家有没有和我有一样感觉的? 海星是南京大学的吗? 请问。vb有没有字体选择的控件(.ocx) 请问在该专区里有没有四川绵阳水校到深圳的王师兄!huan_91_cn@china.com 游戏爱好狂们注意:有没有愿意建立游戏网页!!! 各位大虾请帮忙!!谢谢!!!!! 有关数据报表的处理,采用EXCEL 听说所有Enterprise Manager工具都允许简单地通过单击鼠标来切换身份 怎么恢复? 在数据库中建立临时表来进行数据操作,我对它在使用时何时建立何时删除不太了解,能给我说明一下吗? 如何在触发器中调用存储过程(sql server 或者 oracle)(无内容) 请问哪里有完整版的sql server下载,不要钱的,不要序列号的??? 请较两个英文短语的理解 我要做个套打的程序,希望高手可以提示一点思路,能用QR吗? 加载驱动的问题!! 请教DELPHI中的打印机设置问题,各位师兄请进来看一下! 急问:怎样编程实现打开已保存的quickreport文件(*.QRP)?主要是得到保存的文件名后如何处理打开操作 请问这语句的意思? 在用Rose进行系统分析的过程中,如何对界面的进行详细描述? 谁知道Kylix要在linux内核2.?版本以上才能安装?? 急死菜鸟拉,大家帮帮忙呀 高分求助!!!配置Tomcat4.0 请问那里有php聊天程序?能适合虚拟主机(Unix)、无数据库 有兄弟如此,我..... 我的Access文件怎么变成只读了?怎么变回来? 如何判断传入的字符为空? 帮忙看看,去空格的问题 applet被限制调用系统资源,那么applet打印问题该如何解决,高手进来讨论 为什么霜前冷雪后寒 再生胶价格 现有一项工程,甲单独做8天,再由乙单独做18天即可完成,如果甲乙合作,那么需要12天完成任务,现在由甲单独做18天,乙再单独做几天可以完成 天然橡胶垫的硬度怎样选择? 高强力再生胶有什么作用? 火灾发生的原因通常有哪些? ANSYS WORKBENCH 如何定义硬度为85的天然橡胶减震块的材料属性需要在workbench环境下定义一个硬度为85的天然橡胶减震块的属性.由于我没有相应的数据,就在材料库里边选了workbench自带的mooney-rivli 高强力再生胶的拉伸强度是多少呢? 海市蜃楼 沈括 阅读答案 5个厚天然橡胶硬度65大概怎么卖的 如果用铅笔触碰蜗牛(外界的刺激),蜗牛会做出相应的反应.蜗牛对刺激做出反应有什么意义? 福州最近发生哪些重大火灾事故,造成哪些损失,火灾原因? 怎样理解电源电压和电动势的方向? 汽车奔驰在辽阔平坦的公路上.这句病句怎么修改 能简单、通俗易懂的给我讲解一下“期货”的意思吗?靠什么来赚钱的?怎么赚?怎么运作? 电动势是什么,通俗点. 在原句上用修改符号修改病句.汽车奔驰在平坦辽阔的公路上. 一项工程,甲乙合作8天完成,现在甲先做6天,然后乙接着做用了10天完成.乙独做这项工程要几天完成? 什么汽车什么奔驰在什么马路上 扩句 语文:汽车在辽阔平坦的大道上奔驰着 这句话有什么毛病?修改病句. 谁能通俗易懂地解释一下期货的定义及操作步骤? 一项工程,甲乙两队合做要12天完成,现在甲队独做18天,余下的由乙接着做,8天正好做完,如果由甲独做这项工程,要多少天完成? 一项工程,甲乙两队合作12天完工,现先由甲队干18天,乙队接替甲队干8天,正好完工,这项工程如果由甲队↓单独干,需多少天? 一项工程,甲单独做12天完成,乙单独做10天完成.现在甲、乙两人合作8天完成,但在这段时间里,甲休息了2天,乙休息了几天? 为什么人们常说“霜后冷,雪后寒”? 一项工程,由甲乙两队合作可12天完成,先由甲做8天,乙接着做18天,恰好可以完成工程,乙做需要多少天急,快啊 什么是“期货”,要求解释的通俗易懂,解释的既通俗易懂又有书面功夫 它到底是多少克,密度是天然橡胶体积 = 7.8809110e+04 毫米^3曲面面积 = 3.0771309e+04 毫米^2密度 = 9.5000000e-01 公斤 / 毫米^3质量 = 7.4868654e+04 公斤这东西在proe中计算的,但是实际那个产品的重量是多 一项工程,甲乙合作12天完成;先有甲独做18天因事离开,有乙接着做8天完工,甲乙独做各需几天完工? 一件工程,乙单独做8天完成,现在甲做了2天后,甲乙合作用了4天完成任务,甲单独做需要多少天完成? 苯的密度大还是天然橡胶的密度大?苯和天然橡胶的溶解度参数是多少?回答者请注明资料出处. 沈括《海市蜃楼》中一些问题 急!原文:登州海中,时有云气,如宫室、台观、城堞、人物、车马、冠盖,历历可见,谓之“海市”.或日“蛟蜃之气所为”,疑不然也.欧阳文忠曾出使河朔,过高唐 谚语说‘霜前冷,雪后寒’说明了霜是由什么使空气中水蒸汽发生什么而形成的 “宽广的马路上,各式各样的汽车在穿梭来往”改成比喻句 沈括 海市蜃楼 《海市蜃楼》原文:登州海中,时有云气,如宫室、台观、城堞、人物、车马、冠盖,历历可见,谓之“海市”.或日“蛟蜃之气所为”,疑不然也.欧阳文忠曾出使河朔,过高唐县,驿 一个人让我去他那工作,我问干嘛,他说拉皮条!啥是皮条客?我觉得不可能啊,他们怎么会做那样的事呢?那我要不要去接受这份工作呢? 汽车开得快用什么比喻句 一项工程,甲乙合作需12天,现在先由甲独作18天,余下由乙接着做8天,完成了这项工程,如果全由甲作需几天 接触不良为何容易引起火灾? 把”汽车开向前方”改成比喻句 火灾发生的原因有那些?A.放火.B.违章操作.C.用火不慎,玩火,吸烟.D.自燃或雷电.次题为多选题 1,见到了,3,偶也屁颠屁颠的跟着后面转了2小时...4,偶算犯罪不? 蜗牛能对外界的刺激做出反应,即具有______________答案具体一点. 火灾事故发生的原因有哪些? 引起火灾的所有原因是什么? 如果用铅笔碰蜗牛,蜗牛会做出相应的反应.这说明什么意义?初一的科学作业本第2章第三题. 如果用铅笔触碰蜗牛(外界的刺激),蜗牛会做出相应的反应.蜗牛对刺激作出反应有什么意义?大科学爱好者必看.846793367提问 拉皮条是什么意思? 十五的月亮像什么?求比喻句. 《海市蜃楼》沈括 正文:登州海中,时有云气,如宫室、台观、城堞、人物、车马、冠盖,历历可见,谓之“海市”.或日“蛟蜃之气所为”,疑不然也.欧阳文忠曾出使河朔,过高唐县,驿舍中夜有鬼 拉皮条是什么意思?说得通俗点 汽车奔驰的扩写句子速答! 《海市蜃楼》沈括、文言文阅读答案、拜托了 什么是拉皮条?这是什么意思啊?拜托了各位 谢谢 为什么霜前冷,雪后寒 十五的月亮圆.改为比喻句. “海市蜃楼”沈括·阅读解答登州海中,时有云气,如宫室、台观、城堞、人物、车马、冠盖,历历可见,谓之“海市”.或日“蛟蜃之气所为”,疑不然也.欧阳文忠曾出使河朔,过高唐县,驿舍中夜 为什么"霜前冷,雪后寒"? 谁有高强力再生胶配方? 海市蜃楼 沈括 登州海中,时有云气,如宫室、台观、城堞、人物、车马、冠盖,历历可见,谓之“海市”.或日“蛟蜃之气所为”,疑不然也.欧阳文忠曾出使河朔,过高唐县,驿舍中夜有鬼神自空中
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn