js实现返回一页面

<a href="javascript :history.back(-1)">返回上一页</a>

<a href="javascript :;" onClick="javascript :history.back(-1);">返回上一页</a>


如果是用按钮做的话就是:
<input type="button" name="Submit" onclick="javascript:history.back(-1);" value="返回上一页">


用图片做的话就是:
<img src="图片路径" border="0" onclick="javascript:history.back(-1);" title="返回上一页">




最简单的方法莫过于用history.back(-1);;

但是这种方法有时容易出错,特别是将几个页面放在一个页面的的几个div中时,你就会发现采用上面的方法虽然返回到了父页面,但是却总定位于父页面的某个div中,特别是这些div是采用层叠的tab形式的时候更加明显。

在项目中郁闷几天后,终于找到一个比较好的方法,那就是把父页面的路径给存起来,子页面返回时调用该父页面路径即可。

具体的方法如下:

首先,在父页面中获取其路径:
var parentLocation=window.location.href

这里需注意,虽然将父路径保存到变量 parentLocation中,但是仍不能作为参数传入,其中原因是由于中文乱码的问题,这里就不再多说了,所以还需要利用下面方法将其编码:
var redirect = encodeURIComponent(back);


然后,将编码后的父路径传到相关的处理类中(这里为java),然后在相关处理类中利用request等方式获取该父路径的编码形式;

在处理类跳转到子页面时,子页面通过c:out方式获取父路径,并在子页面返回时,利用window.location等相关方法跳转到父页面中。举例如下:

      var back = "<c:out   value="${param['redirect']}" />";window.location=back;




自此,返回到父页面的问题解决。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值