不让网页被iframe包含的方法

By | 2010/07/06

最近做个东西, 要在iframe框架中载入百度空间, 但是发现不能成功, 主框架会自动被百度空间覆盖, 整个网页都会重新加载. 就是说百度空间能不让iframe包含.  随便打开一个百度空间, 查看源码. 可以发现以下JS代码:

<script type="text/javascript">
/*<![CDATA[*/
if(top.location != self.location){
	top.location = self.location;
}
var myref = encodeURIComponent("http://hi.baidu.com/sfedong/");
/*]]>*/
</script>

这个代码就是判断当前是不是顶级框架, 如果不是就在主框架中重新加载自身.

禁止网页被iframe包含, 概括起来可以用下面这些JS代码:

1. 窗口判断

<script>
if(   top.window.location.href   !=   window.location.href   )
{top.window.location.href   =   window.location.href }
</script>

2. 跳转代码:

<SCRIPT   LANGUAGE=javascript><!–
if   (top.location   !=   self.location)top.location=self.location;
//   –></SCRIPT>

3.

<script   language=’javascript’>
if   (top!=   self)top.location=self.location;
</script>