1.top
该变更永远指分割窗口最高层次的浏览器窗口。如果计划从分割窗口的最高层次开始执行命令,就可以用top变量。 2.openeropener用于在window.open的页面引用执行该window.open方法的的页面的对象。例如:A页面通过window.open()方法弹出了B页面,在B页面中就可以通过opener来引用A页面,这样就可以通过这个对象来对A页面进行操作。 3.parentparent用于在iframe,frame中生成的子页面中访问父页面的对象。例如:A页面中有一个iframe或frame,那么iframe或frame中的页面就可以通过parent对象来引用A页面中的对象。这样就可以获取或返回值到A页面中。4.另外self 指的是当前窗口parent与opener的区别:
parent指父窗口,在FRAMESET中,FRAME的PARENT就是FRAMESET窗口。
opener指用WINDOW.OPEN等方式创建的新窗口对应的原窗口。 parent是相对于框架来说父窗口对象 opener是针对于用window.open打开的窗口来说的父窗口,前提是window.open打开的才有document.parentWindow.menthod()調用父頁面的方法
top实例
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>top</title> <script> function check(){ if (window.top!=window.self) { document.write("<p>这个窗口不是最顶层窗口!我在一个框架?</p>") } else{ document.write("<p>这个窗口是最顶层窗口!</p>") } } </script> </head> <body> <input type="button" οnclick="check()" value="检查窗口"> </body> </html>
一段很简单的防止网页被嵌入框架的代码javascript代码,大家只要将它放入网页源码的头部,那些流氓就没有办法使用你的网页了。
<script type="text/javascript">
if (window!=top) // 判断当前的window对象是否是top对象
top.location.href =window.location.href; // 如果不是,将top对象的网址自动导向被嵌入网页的网址
</script>