• 注册
  • 前端后端 前端后端 关注:1 内容:71

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

  • 查看作者
  • 打赏作者
  • 帅气冲天

    问题前言

    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";
    }

    使用说明

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

    请登录之后再进行评论

    登录

    我关注的论坛

    暂没有数据

  • 发布内容
  • 做任务
  • 偏好设置
  • 直达底部
  • 帖子间隔 侧栏位置: