防止网页被嵌入框架的代码
Posted 凯小默
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了防止网页被嵌入框架的代码相关的知识,希望对你有一定的参考价值。
说明
本文转载自:阮一峰网络日志
最近,国内开始流行另一种流氓行为:使用框架(Frame),将你的网页嵌入它的网页中。
比如,有一家网站号称自己是"口碑聚合门户",提供全国各个网上论坛的精华内容。但是,其实它就是用框架抓取他人的网页,然后在上面加上自己的广告和站标,这同盗版书商有何不同?!
不明内情的访问者,只看到地址栏是该门户的URL,不知道真正内容部分的网页,其实来自另一个网站。
为什么我反对这种做法?
- 1)它故意屏蔽了被嵌入网页的网址,侵犯了原作者的著作权,以及访问者的知情权;
- 2)大量业者使用的是不可见框架,使得框架网页与被嵌入的网页视觉上完全相同,欺骗性极高;
- 3)不良业者在被嵌入网页的上方或周围附加广告(甚至病毒和木马),不仅破坏原作者的设计意图和形象,而且属于侵权利用他人资源的谋利行为;
- 4)如果访问者在框架内部,从一个网页点击到另一个网页,浏览器的地址栏是不变的,这是很差的用户体验,并且访问者会将这种体验归咎于原网页的作者。
如果确有必要,将他人的网页嵌入自己的框架,那么应该同时满足以下三个条件:
- A. 在框架网页的醒目位置,清楚地说明该网页使用了框架技术,并明确列出原网页的URL网址。
- B. 在框架网页的醒目位置,向访问者提供"移除框架"的功能。
- C. 不得附加任何广告或恶意代码。
如果你经常使用Google的图片搜索,你就会知道,Google就是这样做的。
当然,流氓业者不会理睬你的正当要求。所以,我写了一段很简单的javascript代码,大家只要将它放入网页源码的头部,那些流氓就没有办法使用你的网页了。
<script type="text/javascript">
if (window!=top) // 判断当前的window对象是否是top对象
top.location.href =window.location.href; // 如果不是,将top对象的网址自动导向被嵌入网页的网址
</script>
以上是关于防止网页被嵌入框架的代码的主要内容,如果未能解决你的问题,请参考以下文章