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

开发时,为了增加一个“安全退出”的功能,遇到这样的问题:
我在前端页面使用了iframe标签(位于 index.xml 里面):
class="Conframe">

然后,在“安全退出”的按钮那里,我原来时这样写的:
  • class="tip">target="Conframe" href="logout.action">安全退出
  • 在struts.xml里面的配置如下:

    name="logout" class="logoutAction">
    name="success" type="redirect">login.jsp
    结果,点击“安全退出”之后,跳转出来的目标页面(login.jsp)总是作为 index.xml 的 iframe 里面的子页面,而不是一整个完整页面跳转到 login.jsp.
    改了很久,试了很多方法,最终解决的方法是把“安全退出”的那个标签的“target”属性改为“_parent"(即上面的第二段代码),如下:
  • class="tip">target="_parent" href="logout.action">安全退出
  • 这样问题就完美解决。

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

    你可能感兴趣的:(Web开发学习笔记)