<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;
自此,返回到父页面的问题解决。