`

js判断jsp跳出frame

阅读更多

当我们使用frame框架,有使用了Struts2框架的时候,如果打开界面的URL不是XXX.jsp,而是XXX.action,会发现,在使用了Struts2的登录拦截的时候,result指向的url默认是在当前想要跳往的页面所在的框架中,那么,拦截的登录页面也会自动出现在frame框架中了,但是,我们并不期望登录页面出现在frame框架中,那么久只有通过判断登录界面出现的位置是不是属于框架了,如果是属于框架,那么在js中跳出框架,如果不属于frame框架,就不用进行跳出frame框架的操作了。

我的jsp框架如下:

 

<FRAMESET id="index" border=0 frameSpacing=0 rows=100,* frameBorder=no>
  <FRAME id=headFrame name=headFrame src="head.jsp" noResize scrolling=no>
  <FRAME id=mainFrame name=mainFrame src="default.jsp" >
</FRAMESET>
<noframes></noframes>

 登录界面的js设置如下:

 

 

if(self.frameElement!=null && self.frameElement.tagName=="FRAME"){
        window.top.location.href="admin/login.jsp";
}

 其中,self.frameElement!=null  不需要写,因为当登录界面本来就不在frame中时,self.frameElement的值就是null,如果我们再用   self.frameElement.tagName 的时候,就会出现空指针异常。

window.top.location.href

 

 这个是专门用来跳出frame框架的,如果没有top,则没有跳出框架。

1
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics