zoukankan      html  css  js  c++  java
  • js实现网页防止被iframe框架嵌套及几种location.href的区别

    首先我们了解一下几种location.href的区别简单的说:几种location.href的区别js实现网页被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> 
  • 相关阅读:
    Linux下tar-rar-unrar解压/压缩缩命令大全
    Linux文件和目录权限详细讲解
    Mac版PhpStorm之XAMPP整合apache服务器配置
    android adb pull push
    Android刷机教程之LG Nexus 5X线刷官方Nexus系列教程
    Android RecyclerView.Adapter notifyDataSetChanged 不起作用
    Android Gradle Build Error:Some file crunching failed, see logs for details解决办法
    Mac平台与Windows平台下AndroidStudio增量升级
    Android与JS之间跨平台异步调用
    Android Studio 打包签名发布New Key Store
  • 原文地址:https://www.cnblogs.com/soundcode/p/3955369.html
Copyright © 2011-2022 走看看