跳出iframe

首先我们了解一下:window.location.href、location.href、self.location.href、parent.location.href、top.location.href他们的区别与联系,简单的说:几种location.href的区别 js实现网页被iframe框架功能 
"window.location.href"、"location.href"、"self.location.href"是本页面跳转 
"parent.location.href"是上一层页面跳转 
"top.location.href"是最外层的页面跳转

举个例子说明(如上图): 
如果A,B,C,D都是普通页面,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页面刷新

现在回头看看,js实现网页防止被iframe框架功能就很简单了。假设frame.html文件中框架了content.html文件,那么思路是这样的:在content.html中加入js检测自己本身top.location.href地址,是否为top.location.href地址。如果是则没被嵌套,如果否的话即被嵌套了,这是我们可以提示一下

<script language="javascript"> 
if(top.location!==self.location){ 
WarningTxt1 = "content页面被iframe了!"; 
WarningTxt2 = "我们跳出iframe,直接访问content页面吧!"; 
alert(WarningTxt1); 
alert(WarningTxt2); 
top.location.href=self.location.href; 
}

</script>

参考资料:http://www.jb51.net/article/40956.htm

时间: 2024-10-31 20:12:03

跳出iframe的相关文章

解决session过期跳转到登录页并跳出iframe框架

可以用javaScript解决 在你想控制跳转的页面,比如login.jsp中的<head>与</head>之间加入以下代码: <script language="JavaScript"> if (window != top) top.location.href = location.href; </script> 则在系统超时想在框架中打开登录页时,则login.jsp自身进行判断后跳出iframe等框架要.

JSP中解决session超时跳转到登陆页面并跳出iframe框架或局部区域的方法

//方法1: 重定向到登录页,但是不支持跳出iframe//response.sendRedirect("/dormitory/toLoginPage"); //方法2:以输出页面并请求到登录页面的形式跳转到登录页面,可以跳出iframe(推荐)PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<script>"); ou

JavaScript跳出iframe框架

一.window.top top属性返回最顶层的先辈窗口. 该属性返回对一个顶级窗口的只读引用.如果窗口本身就是一个顶级窗口,top属性存放对窗口自身的引用.如果窗口是一个框架,那么top属性引用包含框架的顶层窗口. 二.window.self self属性可返回对窗口自身的只读引用.等价于Window属性. 三.window.location window.location(MDN)对象用于获得当前页面的地址 (URL),并把浏览器重定向到新的页面. 3.1 示例 window.locatio

session过期跳转到登陆页面并跳出iframe框架的两个方法

最近在做拦截器,判断用户登录后操作超时,失去权限然后要重新登录,但是用的iframe,返回的登陆页总是在框架中显示,我百度了下,总是只有其中一个方法,现在分享下两种解决方法,希望对你们有帮助: 方法一: 一般使用filter过滤用户是否登录,如果用户没有登陆则转向登陆页面,这时候可以使用response.sendRedirect().但当在页面上使用了iframe后,发现被重定向的只是父页面中的iframe区域,登陆页面内容显示在该区域中.说明在过滤器中发送重定向请求时,是在iframe页面发送

当session过期后自动跳转到登陆页而且会跳出iframe框架

写项目时在重定向后一直存在一个问题就是重定向后登陆页面会出现在跳出的子框架里. 解决方法: 在登陆界面的<body></body>里加上 1 <script type="text/javascript"> 2 //session过期后刷新父页面 3 if (window != top) 4 top.location.href = location.href; 5 </script> 即可跳出iframe框架

session登录超时跳出iframe页至登录窗口

//当我们用权限框架控制登录超时跳至某一个页面时主页面都没什么问题:iframe会在当前窗口下再开一个会话很显然这不是我们想要达到的效果 在登录页中加入此判断即可 1 $(function(){ 2 3 //iframe session超时判断URL是否为顶级窗口 4 if (window.top!=null && window.top.document.URL!=document.URL){ 5 window.top.location= document.URL; 6 } 7 8 })

跳出IFrame几种方式

1. <script type="text/javascript"> if (top.location !== self.location) { top.location=self.location; } </script> 2. <script type="text/javascript"> if (top.location !== self.location) { top.location = "../index.j

登录缓存过期,点击列表菜单跳出iframe至登录页面

问题: 使用前后端不分离.且页面使用了iframe框架.出现登录缓存过期,点击列表菜单时,iframe中出现登录页面的问题,如下图: 解决方法: 在登录页(login)下方加入以下js配置则解决问题 <script> $(document).ready(function () { if (window != top) { top.location.href = location.href; } }); </script> 原文地址:https://www.cnblogs.com/c

js跳出iframe,显示新页面

1. <script language="javascript" type="text/javascript"> if (top.location != self.location) top.location = self.location; window.location.href = '/HuiLife/seller/seller.jsp'; </script> Done