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

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>

 

 

 

微信大会首批议程出炉 深度解析招行服务号是如何炼成的? 指尖上的阅读:MIT开发盲人专用设备FingerReader 从桌面到移动:异构计算翻天覆地的技术变革 《近匠》Blueware何晓阳,不做中国的New Relic 全球最杰出的14位程序员 Microsoft、RedHat、IBM、Docker等公司加入Kubernetes社区 Intel携手三星、博通等 建立物联网联盟OIC 一周消息树:微软半年内将终止对Win 7、Office 2010 SP1等产品的支持 深度神经网络DNN的多GPU数据并行框架 及其在语音识别的应用 浪潮通软GSP将打造开放平台 吸引更多ISV加入生态系统 国外安全产品再遭信任危机 安全产品国产化步伐加快 最终幻想XIV的重生--SQUARE ENIX《最终幻想14》制作人吉田直树介绍 如何打造百万级自然增长的微信HTML5应用 听邵海杨聊聊1000+台服务器背后的故事 借助Facebook、Twitter等社交平台API打造超炫酷的那些应用 Unity中Shader的开发运用实战详解,开放报名! 我从独立游戏开发学到的6件事儿 果断Mark!Searchcode——源代码搜索利器 《近匠》图灵机器人:App和移动硬件的智慧大脑 极路由发布HiWiFi OS及应用开放平台 Loom SDK框架:命令行快速开发跨平台2D游戏 安全管家Q2移动安全数据报告:窃取隐私最多 Project Adam vs. Artificial Brain,微软与谷歌角力人工智能 “微信公众平台优秀开发商”征集评选活动正式启动 移动数据库新疆界:开源、Swift、可穿戴... Chromebook侵蚀微软商用PC市场,成绩喜人 2014微信开发者大会议程公布 8月1日前购票8折优惠并赠书 四火的唠叨:也谈谈全栈工程师 图形化与集成趋势 协同软件致远发新品V5.1 跨平台开发如何事半功倍 Xamarin推出免费培训 《近匠》上海庆科:海尔智能家居背后的云方案 软件发布:扑克(版本:36.0,玩法的数量和版本号一样) 软件发布:鸿森万能证件打印系统 软件发布:密码盗窃器(超小版:30k) 软件发布:寝室多人共享上网计时计费器 软件发布:美萍安全卫士密码破解器 软件发布:整人蛀虫 SQL SERVER存储过程的问题!!!! 软件发布:词痴 软件发布:自动关机 软件发布:南易彩票选号系统 pfc基类庫是纯英字,谁有中文的。 软件发布:精灵英文输入法(写代码助手) 软件发布:QQSpy密码探测器98版 for 0425 高手请,为何在不同地方打开对话框会有不同的结果呢? 软件发布:《商务导航》 软件发布:amp player 豪华版 如何关闭XCOPY打开的窗口,详细一点 请援手:pfc程序如何再升级?(关于版本更新) 谁是高手,一个事务处理问题。 大家来聊聊:JBUILDER5比JUILDER4在那方面改进了!? 我们这个破烂小公司成天TMD瞎折腾! 根据用户名和密码登陆的问题! 大家来说一下,中程和高程证书在找工作时作用怎样 Dialog上放了一个group box,请问如何动态改变group box框框中的整个颜色?急呀! 用程序向表中插数据的问题? 怎样制作一个类似日历的控件?快快快! 做个调查:在上海delphi的前景如何?现在工资怎么样? 如何给graph控件的values赋值. c++Builder的悲哀历程,求助帮忙,各位大虾多指点 建议封杀e_lion,影响看贴情绪!杀无赦!!! 请教高手:我用vc6.0向导生成了一个Utility Project,不想用MFC AppWizard(exe)生成的基本类,可我无法编译我写的cpp(带winMain函数)文件,为何? 无任何理由,第一个进来者300分。当场结帐。 各位,是如何调试自己编写的servlet的,我使用jswdk每次,修改servlet后都要重启一次服务器,有没有什么好法子。 不看不知道。 在写servlet时,如果要输出一段文字的问题。 “瑞星2001病毒实时间控装载失败”? 既然看到了,不妨进来“坐坐”! (关于串口) 看看我的计划《程序员生活》, 数据库小问题 有谁用过Delphi6带的InstallShield Express - Borland Limited 请赐教:我只想建一个空工程,里面什么类也没有,只望往加我写的类(带winMain 函数),编译成exe文件,用vc6.0,怎么做呀 硬盘喀-啦,喀-啦连续的响是何原因 你们好,能告诉多表更新的时候UPDATE(true,false)中的true,false是什么意思吗? (菜菜鸟级问题)怎么给别人分数?自己的分数又是怎样积累的? 算法问题求解 怎样去看继承下来的方法的代码? 原来大把花钱的感觉真是爽!还是没有任何理由,第7个进来者300分! 我买了一张D片winnt4.0.6, 不知怎么安装。我用winnt /ox作了三张启动盘,但到最后要求我插入光盘,可是回车后最反映,能不能不用启动盘,首先说明这张D版盘可用。请大家快帮帮我@_@ 如何把我的照片拿下来? 请问在哪里可以下载ActiveReports控件的正式版,最好是中文版的。我下载成功了以后一定给分。一定多给!!! 何必呢!何苦呢!我就一天没来,发生了这么多事,虽然我还没有确切知道是怎么回事,但是大家都是朋友。怕的就是……唉!一声叹息! 鸡兔同笼,有23个头,56条腿,鸡兔各几只【用方程做】 鸡兔共40只,兔子比鸡多16条腿,问鸡兔各多少只有x的方程 用方程解(1)某校参加语文竞赛的人数是参加数学竞赛人数的八分之七,语文竞赛获奖人数是获奖总人数的五分之二,而两项竞赛没有获奖的人数各是640人,那么参加这两项竞赛的总人数是多少 鸡兔同笼,共有21个头,56条腿.鸡、兔各有多少只?(方程解) 一只鸡有2条腿,兔子有4条腿,现在又鸡兔若干只,他们共有240条腿,鸡是兔子的2呗,求鸡兔各有多少只?第一个回答的给悬殊按 1.艳艳有2元和5元的人民币共2张,刚好是64元,艳艳有2元和5元的人民币各多少张?2.现有只数相同的鸡、兔共居一笼,已知兔腿比鸡腿多22条,笼子中鸡、兔一共有多少只?不好意思 艳艳有2元和5元的 鸡兔同笼20只,鸡和兔的腿共56条,鸡有()只,兔有()只 鸡兔同笼,共有30个头和84条腿,求鸡和兔各几只? 有两架书共360本,如果从第一架取出1/4放入第二架,则第二架比第一架多2/9,求两架书原来各有多少本? 鸡兔同笼共9只,腿26条,则鸡..只.兔..只.怎样求出的..本人只学过一元一次方程,请用 一元一次方程解答.. 鸡兔同笼,有25个头,有70条腿, 请问有几只兔子几只鸡?急用! 两只乌龟母子对话,妈妈说:“我像你现在这么大时,你才一岁”,孩子说:“妈妈,我到你现在这么大时,你就34岁了“.请列方程求解,小乌龟和妈妈现在各多少岁. 鸡兔同笼,腿200只,鸡的腿书比兔少56只,鸡兔各多少只? 鸡兔同笼,共有35个头,94条腿.求鸡和兔子各有多少只. 两遍都有x的方程怎么解, 鸡兔同笼共九只,腿26条,则鸡和兔各有几只? 1.鸡兔同笼,共有8个头,20条腿,笼里有几只鸡?几只兔?(用方程和列举法.) 鸡兔同笼类似的问题,但要方程解.蜘蛛有8条腿,蜻蜓有6条腿和2对翅膀.蝉有6条腿和1对翅膀.现在这三种小虫共18只,有118条腿和20对翅膀,每种小虫各几只? 鸡兔同笼 21个头 56条腿 鸡兔各几只? 鸡兔同笼,共有10个头,32条腿,鸡,兔各有几只?列表格 关于鸡兔同笼的题和答案方程必须是方程@# 鸡兔同笼方程解笼子里有若干只鸡和兔,从上面数,有8个头,从下面数,有26只脚.鸡和兔各有几只?所有解的过程都写上写清楚,不能掉 鸡兔同笼,共有32个头,74条腿,鸡有()兔有()只 鸡兔同笼类型题方程解法农用车展销大厅里有三轮车、四轮车共38辆,他们的车轮总数是134个.两种车各有多少辆?不会啊,用方程,说明白,有解设. 鸡兔同笼,鸡比兔多26只,足数共274只,问鸡兔各有几只?方程 鸡兔同笼,共10个头,26条腿,请问有几只鸡?几只兔?急 谁能帮我找到30道小学五年级上册的应用题,解方程和求面积(长方形,正方形,平行四边形)的题(要带答案30道小学五年级上册的应用题,解方程和求面积(长方形,正方形,平行四边形)的题( 鸡兔同笼,兔比鸡少20只,脚数共262只,鸡兔各有多少只?(方程解答,并说出计算道理) 鸡兔同笼,共有10个头,32条腿,鸡、兔各有多少只?列表法 谁有相遇问题的应用题 笼子里有相同数量的鸡和兔,一共有48条腿,各有鸡和兔几只?(用方程解) 数学的鸡兔同笼怎么用方程计算?在没有“鸡比兔多……只”、“兔比鸡多……只”的情况下,该怎么用方程计算?例如:有鸡和兔共100只,共有280条腿,鸡有几只?这题就没有上面说的情况,怎么用 求解一道应用题.一个平行四边形和一个梯形的面积相等.平行四边形的底和高分别是12厘米和8厘米,梯形的中一个平行四边形和一个梯形的面积相等.平行四边形的底和高分别是12厘米和8厘米, 鸡兔同笼 共有48条腿 已知兔比鸡多8条腿 鸡兔各有多少只? 鸡兔同笼【用方程计算】现有数量相同的鸡兔同笼,已知兔脚比鸡脚多28只.问:笼子中的鸡和兔子各有多少只?还要等量关系式。 我找不到题了 鸡、兔共有100条腿,若鸡数和兔数互换,则共有86条腿,鸡兔各有多少只?请讲解本题 鸡兔同笼问题方程计算怎么解决看来我要动真格儿的了给你们一个算式,打问号部分是“为什么这样做”如:4x+2(8-x)=262x+16 =26x =5还有,回答要简略 数学三练五年级上册计算平行四边形面积的应用题(有图) 六年级数学题(一元一次方程)0.3分之x-1-0.5分之x+2=1.2 鸡兔同笼,有8个头,20条腿,鸡和兔各有多少只?用算术方法怎么做 鸡兔同笼问题,如果只告诉你脚数差,应该怎么算?(方程) 一元一次方程的应用已知六年级2班共有45人,男生人数于女生人数的比为4:5,求这个班男女生各有多少人? 鸡兔同笼,共有20个头,64条腿,鸡和兔各有多少只? 北师大版六年级上册数学书,28页,三题,解方程, 一道数学题(可用方程、算数法,方程用一元一次方程)求详细解答!六年级同学分成甲 乙两个组劳动,甲 乙两组人数比是7:3 ,后来因为劳动需要,从甲组派了30人到乙组,这样甲乙两组人数比变 鸡兔同笼,有8个头,20条腿,鸡和兔各有多少只?用方程 是北京师范大学出版社的!数学书上册的,242页的12.13.14.15.16题(全用方程没有书的,12.有一块棱长为0.6米的正方体钢坯,想将它锻成横截面是0.008米的立方的长方形钢材,锻成的钢材有多高?13.某公 要解设,并且是一元一次方程一家商店将某种型号的彩电按物价部门准核的原价提高30%,然后标出“大酬宾,八折优惠”,经顾客投诉,执法部门按非法收入的10倍处以每台1000元罚款,则每台彩电原 鸡兔同笼,有20个头,50条腿,鸡有()只,兔有()只,一个平行四边变成()形时面积最大, 鸡兔同笼, 用一元一次方程解,算术也行1、某商店经销一种商品,由于进货价格降低了百分之六点四,使得利润率提高了百分之八,求原来经销此种商品的利润率.2、一项工程,A单独做要四十天,B单独做要三 鸡兔同笼,有20个头,54条腿,鸡与兔各有多少只? 最简单的方程怎么算 小学数学题题目 要解题思路,最好用算术方法,或者一元一次方程.货车速度与轿车速度的比是3:8,两车分别从A、B两地同时出发,相向而行.八分之三小时相遇,如果两车从A、B两地同时出发同向而行,货车速度在前, 鸡兔同笼共有十八个头54条腿同笼中鸡和兔各有多少只? 甲乙两箱粉笔的盒数之比是5:1,如果从甲箱里取出12盒放入乙箱后,甲、乙两箱粉笔的数量比是7:5,那么两箱粉笔共有多少盒?不要方程! 鸡兔同笼,有20个头,56条腿,鸡与兔各有多少只? 鸡兔同笼问题方程解 ,鸡和兔共有18只,共有72只脚,设有X只兔,那鸡有多少只打错了是56只脚不好意思 1一项工程,由甲乙两人共同做12天可以完成.甲先做2天后调整其他工作,由乙接着做3天,这时,做了的占未做的4分之1.这项工程由乙单独做,要多少天完成?2.有甲乙两袋大米,甲袋123KG,乙袋45KG.为了
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn