onbeforeunload与a标签在IE中的冲突bug
来源:互联网 发布:打字软件赚钱平台 编辑:程序博客网 时间:2024/04/30 04:32
onbeforeunload与a标签在IE中的冲突bug
onbeforeunload 是window的一个事件,目前Firefox,IE都支持,主要用来提示用户是否真的要离开该页面,通常在一些比较重要的数据提交之前,防止用户误操作导致数据丢失。典型的应用如gmail中,在写邮件的时候,如果刷新页面或者关闭页面,会出现提示。
但是在IE下点击一些a标签时,也会触发onbeforeunload事件。并且href中写javascript:void(0)
也不行,而在Firefox中不会出现类似的情况。于是查资料对onbeforeunload事件重新认识了一下:
a标签触发事件的顺序
onclick、onbeforeunload跟href三者之间的先后运行关系是这样的:onclick > onbeforeunload > href,知道了这个道理,我们就可以通过一些方法阻止onbeforeunload。另外在IE浏览器中,假如href为#,那么也不会触发onbeforeunload事件。
怎么阻止onbeforeunload
在Ajax的同时,给a标签加上onclick事件,这样onclick在onbeforeunload之前运行,然后来个return false,就可以啦~
绕过onbeforeunload直接href
结合onclick事件,我们可以绕过onbeforeunload直接href,下面的代码就可以绕过onbeforeunload而执行href:
var a=1;window.onbeforeunload=function(){ if(a)alert("onbeforeunload事件爆发了!");}
只要我们在onclick事件加上一个a=0;就可以了~
实例
此处使用了window.onbeforeunload对onclick、onbeforeunload和href进行的测试,请在IE下进行测试:
转帖于:http://js8.in/558.html#
- onbeforeunload与a标签在IE中的冲突bug
- onbeforeunload与a标签在IE中的冲突bug
- onbeforeunload与a标签在IE中的冲突bug
- 离开页面的判断:window.Onunload与window.onbeforeunload的区别(IE下a标签触发问题)
- IE浏览器下a标签点击BUG
- 【未解决】html中的a标签id与class冲突
- 关于a标签中图文链接在IE的一个BUG分析
- 在IE 6中<a>标签的一些bug和解决方法
- li 中a标签浮动在ie下造成的bug
- IE Bug 1 - 错误识别出现在javascript脚本中的字符串,导致HTML标签解析错误
- 在IE环境下window.onbeforeunload与window.onunload中无法调用DWR的解决办法
- IE a标签href属性取值BUG
- 【IE bug】positioned的A标签不见了!(转)
- 【bug记录】<a>标签IE下无法响应
- cssText在IE中的小bug
- a标签position为absolute时,IE无法点击(a position:absolute bug ie)
- a标签position为absolute时,IE无法点击(a position:absolute bug ie)
- js日历与onbeforeunload不兼容?非跳转用<a>标签的href屏蔽法
- Git的几个重要概念
- Windows 不能在 本地计算机 启动 SQL Server 服务 错误代码126
- Windows 7 SP1无法安装oracle10g 11g的解决办法
- 存储和数据研究领域研究调研
- CentOS5下SQLPlus方向键无法使用
- onbeforeunload与a标签在IE中的冲突bug
- TROUBLE SHOOTING: OWSM PolicyManagerException: WSM-02120 [Possible Cause : Destination unreachable]
- 预计算MV基表为远程表的快速刷新-测试
- Shell 脚本1 -- 查看今天更新/创建的文件
- Django 模板-过滤器
- visual studio 2005 CPU占用率100%的修复补丁,
- Matlab 根据坐标在图中画图
- 关于Solaris的一些小技巧 .
- .Net环境下的缓存技术介绍