frameset中的页面退出的问题

当我们使用frameset来构建页面的时候, 会遇到一个问题,就是当我们想通过里面的某个页面的某个链接来退出系统到登录界面的时候, 会另整个frameset保持不变,而只有那个页面跳转回了登录界面。


这里详细的把这个环境记录下来以便以后学习。


项目构建图如下:

[img]http://dl2.iteye.com/upload/attachment/0092/1293/82c14333-afe9-3087-b906-66045b99e082.jpg[/img]


网页界面如下:

[img]http://dl2.iteye.com/upload/attachment/0092/1291/ae79624c-a47c-3c02-a599-d97133ae372a.jpg[/img]

这里中上的是top.jsp文件,
  <body>
<div id="top">
<div id="topIntro">
<a href="<%=path%>/admin/logout">退出系统</a>
</div>

<div id="remind">
<span id="showDate">欢迎光临</span>
</div>


</div>
</body>

这个文件通过SpringMVC的控制器路径来登出界面,然后返回到login.jsp页面。
然而当我们点击“退出系统”的时候,发现只有top.jsp页面所在的frame被导航到了login.jsp。

这显然不是我们所期望的。


这里的解决方法是, 我们必须让frame的父级元素去请求控制器,从而让父级的页面整个被导航回到login.jsp。
具体方法如下:

首先新建一个javascript方法, 这里我们要让javascript来帮助我们调用父级的页面来访问后台。

  <script type="text/javascript">
function exitSystem(){
window.parent.location.href=$("#contextPath").val()+"/admin/logout";
}
</script>


contextPath是一个隐藏类型的input, 也就是contextPath的值。
这里window.parent也就是全局的最外级页面(我个人理解)
这里使用window.top.location.href也会起到同样的效果。


然后修改top.jsp文件为:
	 <input type="hidden" id="contextPath" value="<%=path%>"/>


<div id="top">
<div id="topIntro">
<a href="javascript:exitSystem()">退出系统</a>
</div>

<div id="remind">
<span id="showDate">欢迎光临</span>
</div>


</div>


再次点击, 便会让整个页面被导回login.jsp页面了。


完整源码:
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值