很多网页都是框架结构的,在很多的情况下会通过按钮点击事件或链接,跳出框架转到其它界面。

使用的过程中会经常遇到跳不出框架的问题。

java cmd 退出进程 java退出窗口_登录界面


 

如上图,在右下页面进行转跳却发现转到了登录界面

    1.有可能是登录超时(网页默认在30分钟没操作将强退用户)

    2.也有可能是服务器被重启了(小概率事件~)

    3.有可能是修改了用户登录密码,发生被转跳却无法跳出框架

解决办法:

一、.主要部分在form表单跳转的时候添加一个target="sypost"属性就ok了。意思是:

<form  action="updateOldpsd.action"  method="post"  id="myform"target="sypost">

二、.通过运行脚本跳出框架有以下几种写法:

1. <script language =JavaScript>window.open('Login.aspx','_top')</script>"

2.<script language =javascript>window.open('Login.aspx','_parent')</script>"

3.<script language = javascript>window.parent.location.href='login.aspx'</script>

4.Response.Write("<script>window.parent.opener=null;window.top.close();</script>")

Response.Write("<script>window.open('index.aspx','');</script>")

这种方法会先关闭原框架窗口,再重新打开一个新的窗口。这在很多功能界面对浏览器进行了改变设置,而回到登陆界面又用缺省设置的情况下适用。

三、链接跳出框架 

这种情况就很简单了,加上target="_top"属性就可以了。 

这个是自己最喜欢用的:


/** 实现跳出框架界面的js代码 */
<script type="text/javascript">
    if(top.location != self.location){
        top.location = self.location;
    }
</script>

 

把上面代码丢到登录界面即刻.