使用window.location跳转页面在火狐上无法触发的问题

为了兼容ie跟chrome,我在js跳转当前页面的时候使用了window.location.href="url"的写法,其他浏览器测试都ok了,但是偏偏在火狐上面无效。研究了半天,发现一个很奇葩的问题,在同一个页面的其他js代码里面使用了οnclick="window.location.href='url'"的写法又可以跳转页面。

没办法,只好查查是什么原因引起的咯,在跳转之前,页面上使用了一个iframe作为一个弹窗让用户登陆,登陆成功后才调用parent.loadUrl()去跳转页面。登陆方法是ajax,返回success后进行页面跳转,于是问题出现了,跳转不了。

产生问题的原因可能是这两个:1、其他地方使用了return false,void(0)这些中止代码导致window.location.href被干扰,无法跳转。对于这中问题,简单点的办法就是在window.location.href="url" 后面加一句window.event.returnValue=true

2、火狐本身的机制导致iframe调用parent函数里面的window.location.href无法触发

  我的问题应该是属于第二种,于是我在跳转之前做了个兼容判断 if($.browser.mozilla) 如果是火狐浏览器,使用下面的方法跳转window.location.assign("url")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值