点击退出,并未直接跳转到登陆界面,登录界面还停留在框架集界面

一个 后台管理页面中嵌套 iFrame,里面的页面判断如果Session丢失,就自动跳转到登录页面,但是如果是一般的 RedirectAction ,那么登录页面会在iFrame里面出现,如果在页面上用JS来做判定,又很容易产生许多不可预估的问题,安全性也很低,肿么办?

虽然是个简单滴问题,不过还是一个很有用的小技巧~

{
     return Content("<script language=\"javascript\">parent.location.href=\"/Admin/Login/List/\";</script>")

}

那就顺便补习一下 js吧 ,其中 parent 表示 父容器对象   ,location 表示 当前URL 

关于js中"window.location.href"、"location.href"、"parent.location.href"、"top.location.href"的用法

"window.location.href"、"location.href"是本页面跳转

"parent.location.href"是上一层页面跳转

"top.location.href"是最外层的页面跳转,top表示主窗口

 self.location.href     仅在本页面打开url地址

this.location.href=”url”       用法和self的用法一致

举例说明:

如果A,B,C,D都是jsp,D是C的iframe,C是B的iframe,B是A的iframe,如果D中js这样写

"window.location.href"、"location.href":D页面跳转

"parent.location.href":C页面跳转

"top.location.href":A页面跳转

如果D页面中有form的话,

<form>: form提交后D页面跳转

<form target="_blank">: form提交后弹出新页面

<form target="_parent">: form提交后C页面跳转

<form target="_top"> : form提交后A页面跳转

关于页面刷新,D 页面中这样写:
"parent.location.reload();": C页面刷新 (当然,也可以使用子窗口的 opener 对象来获得父窗口的对象:window.opener.document.location.reload(); )

"top.location.reload();": A页面刷新

posted @ 2013-08-01 10:50  史红星-shihongxing  阅读(760)  评论(0编辑  收藏  举报