浏览器返回(点击自定义返回)功能,两个页面跳转死循环解决方案!

最近项目中遇到到了,点击浏览器返回(或点击自定义返回)时,两个页面往复死循跳转,今天就把自己的解决方案总结如下,大家可参考下!

A页面返回及跳转地址

       <!-- 返回弹窗 -->
		<div class="no_set">
			<p class="text">确定要放弃我吗?</p>
			<div class="set_btn">
				<div class="cancel">我再想想</div>
				<div class="go_set"><a href="javascript:;" onclick="gotoUrl('{$goto}');">去意已决</a></div>
			</div>
		</div>

     <!--地址信息-->
    <a href="javascript:gotoSelectAddressList();">我是收货人</a>



<script type="text/javascript">
       //去选择收货地址
	    function gotoSelectAddressList(){
			var addressListUrl = "__APP__/User/selectReceiveUser/itemList/{$cartIds}/rR/{:urlencode(urlencode($url))}";
			localStorage.setItem("addrFrom",1);//这个设置是关键
			window.location.href=addressListUrl;
		}

        //自定义返回功能	
		function gotoUrl(refer){
            if(refer==""){
                history.go(-1);
            }else{
                window.location.href=refer;
            }
        }
</script>

B页面选中返回A页面,A页面再次点击返回功能,可能会再次跳转到B,此时应该跳转到A的上一个页面!

B页面此JavaScript代码是关键
<script type="text/javascript">
     onInit();
     function onInit(){
          var addrFrom = localStorage.getItem("addrFrom");
          if(addrFrom){
             localStorage.removeItem("addrFrom");
          }else{
              history.go(-2);//这个是关键,点击A页面返回自己跳转到A的上一页
            }
      }
</script>

希望对大家有所帮助!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值