• 注册
  • 前端后端 前端后端 关注:0 内容:26

    js如何判断当前页面是否在iframe框架中+防止网页被别站用iframe嵌套

  • 查看作者
  • 打赏作者
    • 前端后端
    • Lv.14
      帅气冲天

      问题前言

      php 是不能判断该页面是不是在 iframe 中的

      js如何判断当前页面是否在iframe框架中

      怎么防止网页被别站用iframe嵌套

      解决方案

      一、js如何判断当前页面是否在iframe框架中

      js代码

      //方式一
      if (self.frameElement && self.frameElement.tagName == "IFRAME") {undefined
      alert('在iframe中');
      }
      //方式二
      if (window.frames.length != parent.frames.length) {undefined
      alert('在iframe中');
      }
      //方式三
      if (self != top) {undefined
      alert('在iframe中');
      }

      二、防止网页被别站用 iframe 嵌套

      将下面的代码加到网页中(任意位置都行)

      js代码

      if(self!=top){top.location.href=self.location.href;}

      这个就能让别人无法用iframe嵌套你网站的任何页面,实现的效果是:输入盗链你网站的那个地址后会自动跳到你的网站。

      不可靠的原因:

      当别人用如下类似代码做IFRAME嵌套调用时,就可能躲过你的页面的javascript代码。

      Js代码

      var location="";
      var navigate="";
      frames[0].location.href="";

      最可靠的方法:

      为了彻底防止别人用IFRAME框架嵌套调用自己的网页,如下方法是最可靠的

      这里赋值为空页面,也可赋值为你的页面的URL地址.

      Js代码

      if(top != self){undefined
      location.href = "about:blank";
      }

      使用说明

      请根据自己实际情况做相应修改

      请登录之后再进行评论

      登录

      我关注的论坛

      暂没有数据

    • 发布内容
    • 做任务
    • 实时动态
    • 偏好设置
    • 帖子间隔 侧栏位置: