很多网页都是框架结构的,在很多的情况下会通过按钮点击事件或链接,跳出框架转到其它界面。
使用的过程中会经常遇到跳不出框架的问题。
如上图,在右下页面进行转跳却发现转到了登录界面
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>
把上面代码丢到登录界面即刻.