web开发中经常会有这种情况,在一个主页面中包含侧边导航菜单和iframe,点击菜单项,对应页面会在iframe中显示,整个页面不会刷新.但是如果设置了会话Session,在会话过期后再操作会自动redirect重定向到登录页面,经常会出现在session过期后,再点击菜单项,登录页面显示在iframe中而非显示在当前窗口的情况. 解决办法,在登录页面加上如下js代码: if(window !=top){ top.location.href = url; }…
跳出框架页,实际上是更改父页面地址.那么更改父页面地址很简单即: window.parent.location='/Login/loginindex'; 这里说session过期,那么浏览器端的任何请求都应该进行过滤,所以在OnActionExecuting方法中,进行跳转. filterContext.Result = new ContentResult() { Content = "<html><script>window.parent.location='/Logi…
//在你想控制跳转的页面,如login.jsp中的<head>与</head>之间加入以下代码:    if(window != top){        //解决Session过期跳转到登录页面并跳出iframe等框架问题        top.location.href = location.href;    }…
写项目时在重定向后一直存在一个问题就是重定向后登陆页面会出现在跳出的子框架里.…
一.window.top top属性返回最顶层的先辈窗口. 该属性返回对一个顶级窗口的只读引用.如果窗口本身就是一个顶级窗口,top属性存放对窗口自身的引用.如果窗口是一个框架,那么top属性引用包含框架的顶层窗口. 二.window.self self属性可返回对窗口自身的只读引用.等价于Window属性. 三.window.location window.location(MDN)对象用于获得当前页面的地址 (URL),并把浏览器重定向到新的页面. 3.1 示例 window.locatio…
当用户长时间停留在管理界面没有操作,等到session过期后,进行了操作,那么只是iframe跳转到login页面,这不是我们想要的结果.解决方法:在login页面加一个逻辑判断: <script > $(document).ready(function () { if (window != top) { top.location.href = location.href; } }); </script>…
最近在做拦截器,判断用户登录后操作超时,失去权限然后要重新登录,但是用的iframe,返回的登陆页总是在框架中显示,我百度了下,总是只有其中一个方法,现在分享下两种解决方法,希望对你们有帮助: 方法一: 一般使用filter过滤用户是否登录,如果用户没有登陆则转向登陆页面,这时候可以使用response.sendRedirect().但当在页面上使用了iframe后,发现被重定向的只是父页面中的iframe区域,登陆页面内容显示在该区域中.说明在过滤器中发送重定向请求时,是在iframe页面发送…
<!--在你想控制跳转的页面,比如login.html中的<head>与</head>之间加入以下代码:--> <script> if (window != top) top.location.href = location.href; </script>…
1.可以用javaScript解决在你想控制跳转的页面,比如login.jsp中的<head>与</head>之间加入以下代码: <script language=”JavaScript”> if (window != top) top.location.href = location.href; </script>…
//当我们用权限框架控制登录超时跳至某一个页面时主页面都没什么问题:iframe会在当前窗口下再开一个会话很显然这不是我们想要达到的效果 在登录页中加入此判断即可 $(function(){ //iframe session超时判断URL是否为顶级窗口 if (window.top!=null && window.top.document.URL!=document.URL){ window.top.location= document.URL; } })…