1.top
该变更永远指分割窗口最高层次的浏览器窗口。如果计划从分割窗口的最高层次开始执行命令,就可以用top变量。
2.opener
opener用于在window.open的页面引用执行该window.open方法的的页面的对象。例如:A页面通过window.open()方
法弹出了B页面,在B页面中就可以通过opener来引用A页面,这样就可以通过这个对象来对A页面进行操作。
3.parent
parent用于在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" onclick="check()" value="检查窗口">
</body>
</html>
一段很简单的防止网页被嵌入框架的代码javascript代码,大家只要将它放入网页源码的头部,那些流氓就没有办法使用你的网页了。
<script type="text/javascript">
if (window!=top) // 判断当前的window对象是否是top对象
top.location.href =window.location.href; // 如果不是,将top对象的网址自动导向被嵌入网页的网址
</script>