首先我们了解一下: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>
您可能感兴趣的文章:- js动态创建上传表单通过iframe模拟Ajax实现无刷新
- iframe子父页面调用js函数示例
- js与jQuery 获取父窗、子窗的iframe
- js下判断 iframe 是否加载完成的完美方法
- js iframe跨域访问(同主域/非同主域)分别深入介绍
- js中iframe调用父页面的方法
- js操作iframe的一些方法介绍
- JS中Iframe之间传值及子页面与父页面应用
- js实现iframe动态调整高度的代码
- JavaScript实现同一页面内两个表单互相传值的方法
- jquery ajax提交表单从action传值到jsp实现小结
- JS实现向iframe中表单传值的方法