加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > 正文

onbeforeunload与a标签在IE中的斗嘴bug

发布时间:2018-10-02 07:29:39 所属栏目:创业 来源:站长网
导读:onbeforeunload 是window的一个变乱,今朝 Firefox ,IE都支持,首要用来提醒用户是否真的要分开该页面,凡是在一些较量重要的数据提交之前,防备用户误操纵导致数据丢失。典范的应用如gmail中,在写邮件的时辰,假如革新页面可能封锁页面,会呈现提醒。

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下举办测试:

测试# | 测试毗连 | 测试Click在onbeforeunload之前 | 测试onbeforeunload在href之前 | 避开onbeforeunload直接href

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读