使用iframe框架后的页面跳转时目标页面变为iframe的子页面的问题

开发时,为了增加一个“安全退出”的功能,遇到这样的问题:
我在前端页面使用了iframe标签(位于 index.xml 里面):
<div class="Conframe">
<iframe name="Conframe" id="Conframe"></iframe>
</div>
然后,在“安全退出”的按钮那里,我原来时这样写的:
<li><b class="tip"></b><a target="Conframe" href="logout.action">安全退出</a></li>
在struts.xml里面的配置如下:
<!-- 安全登出 -->
<action name="logout" class="logoutAction">
<result name="success" type="redirect">login.jsp</result>
</action>
结果,点击“安全退出”之后,跳转出来的目标页面(login.jsp)总是作为 index.xml 的 iframe 里面的子页面,而不是一整个完整页面跳转到 login.jsp.
改了很久,试了很多方法,最终解决的方法是把“安全退出”的那个标签的“target”属性改为“_parent"(即上面的第二段代码),如下:
<li><b class="tip"></b><a target="_parent" href="logout.action">安全退出</a></li>
这样问题就完美解决。

总的来说,使用 iframe 时,在子页面中的跳转要十分细心,跳转的目标页面时作为子页面还是作为整个页面。从子页面使整个页面跳转的方法有两个:
(1)在标签中跳转,设置标签的 target 属性为 _parent;
(2)在 js 中使用 window.location.href 跳转,让父页面跟着一起跳转,即在window.location.href=url后面加上window.parent.location.href=url ;

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值