防止网页被嵌入框架的代码

2019-12-04 06:07栏目:竞技宝竞猜
TAG:

最近,国内开始流行另一种流氓行为:使用框架,将你的网页嵌入它的网页中。比如,有一家网站号称自己是”口碑聚合门户”,提供全国各个网上论坛的精华内容。但是,其实它就是用框架抓取他人的网页,然后在上面加上自己的广告和站标,这同盗版书商有何不同?!

为了防止其他网站使用框架(Frame),将你的网页嵌入它的网页中。可以将下面一段简单的Javascript代码放入网页源码的头部,别人就无法使用你的网页了:

复制代码 代码如下:

<script>
  if(window!=top) //判断当前的window对象是否top对象
  {
    //如果不是,将top对象的网址自动导向被嵌入网页的网址
    top.location.href = window.location.href; 
  }
</script>

复制代码 代码如下:

但这段代码使用后,任何人都无法再把你的网页嵌入框架了,包括你自己。
那有没有一种方法,使得我的网页只能只能嵌入我自己的框架,而不是别人的框架呢?

这段代码是有效的。但是,有一个问题:使用后,任何人都无法再把你的网页嵌入框架了,包括你自己在内。

表面上看,这个问题很简单。只要做一个判断:当前框架和顶层框架的域名是否相同,如果答案是否,就做一个URL重定向。

有没有一种方法,使得我的网页只能被嵌入我自己的框架,而不是别人的框架?

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

复制代码 代码如下:

但是出乎意料的是,这样写是错误的,根本无法运行。

好了,升级版代码完成。除了本地域名以外,其他域名一律无法将你的网页嵌入框架。我的Blog现在就使用这段代码。

假定 top.location.hostname 是 www.111.com,而 window.location.hostname 是 www.222.com。也就是说,111.com 把 222.com 嵌入了它的网页。这时比较 top.location.hostname != window.location.hostname 会有什么结果呢?

浏览器会提示代码出错。

版权声明:本文由龙竞技官网发布于竞技宝竞猜,转载请注明出处:防止网页被嵌入框架的代码