页面在关闭前会有onbeforeUnload事件,来询问用户是否要关闭这个页面OR选项卡

浏览器的F5刷新为按下F5----onbeforeUnload----onunload----onload;

浏览器关闭为  onbeforeUnload----onunload;

在window.onbeforeunload的方法体中用alert或则confirm这样的方法在IE中是有效的,会弹出来,点击后页面也会关闭。confirm也是如此,即使你confirm点击了取消还是会刷新/关闭页面。并且在W3C浏览器,chrome,firefox中是不会弹出来的,但是会执行.是浏览器的一个bug或则机制吧,在页面关闭后alert和confirm等弹出框是不会弹出来的。想要一个可以让用户选择的是否关闭的办法,alert和confirm是不可行的

网上查了下资料发现用event.returnValue='你想让用户看到的信息';这样的方法可以在页面被关闭逼前让用户看到提示信息“这个页面要被关闭了,你想关闭还是不关闭?”来让用户进行选择

IE8,CHROME可以让用户完全看到你rerturnValue中的信息,firefox的内容就是浏览器自带的,不管你returnValue设置的显示内容是如何,他始终显示自带的

随后我在测试中发现直接使用return “你想让用户看到的信息”;这样的方式也能和上面使用event.returnValue产生同样的效果。

为什么使用return和event.renturnValue会产生同样的效果,分析,想了想。

一:可能这方法接受return的值,这个参数的值就会直接出现在提示信息中。

二:这个方法的event中的returnValue可以接受一个字符串让其显示在提示信息中。

但是其他的标签,比如A,button中returnValue就只有true和false 两种

假如我们有一个A标签,添加一个onclick事件,我们在return "123" 后面添加alert(“a”);这个A标签点击后是会执行任何默认的方法,即跳转等等。

当我们用return false后任何默认的行为都会不会被执行,后面的代码也不会执行(alert);

当我们用event.returnValue=false(IE或则W3C)或则event.preeventDefault()《W3C》后页面的默认行为如跳转等不会执行,但是下面的alert会执行。

event.returnValue的值只要是false就可以,也就是说event.returnValue=“”这样也可以的。event.returnValue=“haha”这样就是true了。

为什么呢?

returnValue和preeventDefault是阻止事件的默认行为就这个A标签来说,A标签点击的默认行为是跳转。但是其方法体就是onclick的方法中的代码还是会执行完。

而retrun false这样是完完全全阻止了事件的默认行为并且return后面的代码都不会执行。。。

两种方法怎么用,我觉得要分场合。比如就想单纯的阻止事件的默认行为的话就用preeventDefault这种,在方法里面执行代码,走流程并且还要阻止事件的默认行为的话用return false比较好

回到上面的关于onbeforeUnload使用return和returnValue的问题

由于return是直接返回,不执行下面的代码,所以我比较喜欢用returnValue这种方式。。

关于onbeforeunload的一些想法的更多相关文章

  1. 细谈Slick(5)- 学习体会和将来实际应用的一些想法

    通过一段时间的学习和了解以及前面几篇关于Slick的讨论后对Slick这个函数式数据库编程工具有了些具体的了解.回顾我学习Slick的目的,产生了许多想法,觉着应该从实际的工作应用角度把我对Slick ...

  2. 关于纠正 C/C++ 之前在函输内改变 变量的一个错误想法。

    再这之前,我曾认为,一个变量只要定义为全局变量后,即使把它以传参的方式传进去一个函数内,也能改变它的值 事实证明,这一想法是错的. 下面我用代码说明,具体注释将写在里面 #include<std ...

  3. 刷新或关闭时调用onbeforeunload

    Onunload,onbeforeunload都是在刷新或关闭时调用,可以在<script>脚本中通过window.onunload来指定或者在<body>里指定.区别在于on ...

  4. 制作QQ空间的一些想法

    新的项目开始了,这一次是做一个网站类似于QQ空间那样的,基本功能比如说写日志,说说之类的都要有(说说是要有楼中楼嵌套的,应该能够上传图片),还要可以修改个人信息.登录注册之类的更不用说了,还要有一定的 ...

  5. 关于小组所要做的APP的想法

    关于小组所要做的app,我们敲定下来是做关于在线做题的app,但是,纯粹的做题目的app我认为并没有什么大的吸引力,尤其是拿手机做题.所以,我们考虑准备在以下几个方面做功夫以增加吸引力.第一,我们的题 ...

  6. 大三CS狗一点想法

    本文非技术文 十点半游戏的代码大概完成了1/3,想到今晚提早验收完汇编实验,还是副院长亲自验的,似乎很看好我的样子,然后问我的方向,导师和参加的项目.聊了几句后结束了对话,不禁又引发了我的一些思考. ...

  7. 浏览器 onbeforeunload 事件 兼容写法

    window.onbeforeunload = onbeforeunload_handler; function onbeforeunload_handler() { var warning = &q ...

  8. 系统架构:Web应用架构的新趋势---前端和后端分离的一点想法

    最近研究servlet,看书时候书里讲到了c/s架构到b/s架构的演变,讲servlet的书都很老了,现在的b/s架构已经不是几年前的b/s架构,其实b/s架构就是web应用开发,对于这样的架构我们现 ...

  9. 关于移动开发的一些想法和认识--Android和iOS

    微信公众账号很久没更新了,发一点自己最近的想法和内容. 之前和朋友做了一个项目,现在在跟一些风投,大公司里面的几家在谈合作和投资的事宜,从这个过程中也了解到了一些信息. 关于移动平台的应用开发与游戏开 ...

随机推荐

  1. equals()和hashCode()之间的关系

    在Java的基类java.lang.Object中有两个非常重要的方法: public boolean equals(Object obj) public int hashCode() 对这两个方法的 ...

  2. 学C#你应该熟练使用ILDasm和Reflector【带视频教程】

    我们在学习C#的时候通常都会多多少少接触ILDasm和Reflector,这两样工具让我们对C#的理解不会只停留在编译器这个层面 上,而是让我们更深入的穿透编译器.这篇也是希望对IL和Reflecto ...

  3. Hadoop+MongoDB的四种方案

    背景: 公司核心业务库现存在MongoDB中,分布在6台MongoDB节点.现面临如下问题: 1.最大的一张表有10多个G,MongoDB在查询方面尚能胜任,但是涉及到复杂计算时会比较吃力. 2.Mo ...

  4. iNeedle系统使用注意事项

    1.不能监控https协议的报文 目前只能监控http协议的网站,对于https协议(加密)的网站暂时不支持监控,甚至连流量都没有作统计,在测试iNeedle的时候也要多加注意.

  5. gvim的菜单乱码解决方法

    gvim的菜单乱码解决方法: (乱码是由于系统内码不兼容导致,系统内码包括gb2312 gb18030 utf-8 utf-16[unicode]等) 生成文件 ~/.gvimrc 并添加如下语句:s ...

  6. linux 文件系统解析及相关命令

    简介 文件系统就是分区或磁盘上的所有文件的逻辑集合. 文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有Linux 用户和程序看到的文件.目录.软连接及文件保护信息等都存储在其中. 不同Lin ...

  7. 虚拟机centos6.5 --开放端口

    系统:centos6.5 1.查看端口开放情况 /etc/init.d/iptables status 2.开启端口 /sbin/iptables -I INPUT -p tcp --dport -j ...

  8. Centos6.6下安装MySQL5.6

    1.先查看本机上已经安装的MySQL rpm –qa | grep -i mysql 如果存在信息说明已经安装MySQL 需要完全卸载以前的MySQL yum remove mysql mysql-s ...

  9. [转]新型智慧城市总体架构 华为 新ICT 一云二网三平台

    本文转自:http://www.jpsycn.com/hangyexinwen/20160801142354.html “十三五”规划提出,充分运用现代信息技术和大数据,建设一批新型示范性智慧城市.日 ...

  10. [转]ng-grid

    本文转自:http://angular-ui.github.io/ui-grid/ Getting Started Steps for getting started (example on righ ...