js中window.self,window.top,window.parent,window.opener

在js中window.self,window.top,window.parent,window.opener四个的作用区别还是很大的,

window.self,window.top是打开模式,

而window.parent,window.opener是父窗口打开模式,下面我来介绍介绍。

===============================================================

在应用有frameset或者iframe的页面时,

parent是父窗口,

top是最顶级父窗口(有的窗口中套了好几层frameset或者iframe),

self是当前窗口,

opener是用open方法打开当前窗口的那个窗口。

window.self

功能:是对当前窗口自身的引用。它和window属性是等价的。
语法:window.self

注:window、self、window.self是等价的。

window.top

功能:返回顶层窗口,即浏览器窗口。

语法:window.top

注:如果窗口本身就是顶层窗口,top属性返回的是对自身的引用。

window.parent

功能:返回父窗口。

语法:window.parent

注:如果窗口本身是顶层窗口,parent属性返回的是对自身的引用。

在框架网页中,一般父窗口就是顶层窗口,但如果框架中还有框架,父窗口和顶层窗口就不一定相同了。

javascript调用父窗口(父页面)的方法。

window.parent 是iframe页面调用父页面对象

举例:

a.html

程序代码

<html>
<head><title>父页面</title></head>
<body>
<form name="form1" id="form1">
<input type="text" name="username" id="username"/>
</form>
<iframe src="b.html" width=100%></iframe>
</body>
</html>

如果我们需要在b.htm中要对a.htm中的username文本框赋值,就如很多上传功能,上传功能页在Ifrmae中,上传成功后把上传后的路径放入父页面的文本框中

我们应该在b.html中写

<script type="text/javascript">
var _parentWin = window.parent ;
_parentWin.form1.username.value = "xxxx" ;
</script>

你应当将框架视为窗口中的不同区域,框架是浏览器窗口中特定的部分。一个浏览器窗口可以根据你的需要分成任意多的框架,一个单个的框架也可以分成其它多个框架,即所谓的嵌套框架。

window.opener 的用法

window.opener 返回的是创建当前窗口的那个窗口的引用,比如点击了a.htm上的一个链接而打开了b.htm,然后我们打算在b.htm上输入一个值然后赋予a.htm上的一个id为“name”的textbox中,就可以写为:

window.opener.document.getElementById("name").value = "输入的数据";
时间: 2024-10-27 02:13:24

js中window.self,window.top,window.parent,window.opener的相关文章

JS window对象的top、parent、opener含义

top    该变更永远指分割窗口最高层次的浏览器窗口.如果计划从分割窗口的最高层次开始执行命令,就可以用top变量. opener opener用于在window.open的页面引用执行该window.open方法的的页面的对象.例如:A页面通过window.open()方法弹出了B页面,在B页面中就可以通过opener来引用A页面,这样就可以通过这个对象来对A页面进行操作. parent parent用于在iframe,frame中生成的子页面中访问父页面的对象.例如:A页面中有一个ifra

(转)JS window对象的top、parent、opener含义

1.top    该变更永远指分割窗口最高层次的浏览器窗口.如果计划从分割窗口的最高层次开始执行命令,就可以用top变量. 2.opener opener用于在window.open的页面引用执行该window.open方法的的页面的对象.例如:A页面通过window.open()方法弹出了B页面,在B页面中就可以通过opener来引用A页面,这样就可以通过这个对象来对A页面进行操作. 3.parent parent用于在iframe,frame中生成的子页面中访问父页面的对象.例如:A页面中有

js中,全局变量与直接添加在window属性的区别

在js中定义的全局变量是挂在window下的,而window的属性也一样,那么这两者有什么区别呢? 其实这两者还是有小小的区别的,全局变量是不能通过delete操作符删除的,而直接定义在window上的属性是可以删除的. 那么为什么全局变量不能删除呢? 因为全局变量也是个对象,这个对象时通过叫做PropertyDescriptor来定义的. 可以在浏览器中调用Object.getOwnPropertyDescriptor(对象, 属性)来查看 举例: var test = 2; window.t

js中不同的height, top的对比

每次看到js中的clientHeight(clientTop), offsetHeight(offsetTop),scrollHeight(scrollTop)就头大,根本分不清这几种的区别,然而碰到这些已经不值一两次了,然后每次都要查看一下各自的区别,才能决定使用哪个. 今天特地花了一点时间整理了下各自的区别,本篇主要以chrome为准,可能各个浏览器之间还是有一些区别,但很多自己还未真正遇到过,还不是很清楚,等以后碰到了类似的兼容性问题,再记录到这里,这次就chrome浏览器中各个属性的区别

js中的全局变量和函数是作为window对象的属性和方法而存在

在全局作用域声明的变量和函数是作为window对象的属性和方法而存在的. 总结: 所以可以通过给window对象添加属性和方法,也可以创建全局变量和函数. 原文地址:http://blog.51cto.com/11871779/2121756

js中的各种“位置”——“top、clientTop、scrollTop、offsetTop……”,你知道多少

当要做一些与位置相关的插件或效果的时候,像top.clientTop.scrollTop.offsetTop.scrollHeight.clientHeight.offsetParent...看到这么多单词,而且长得那么像,是不是懵X了! 第一次看到这图,说实话有点被吓到... ============================分割线====================================== offsetParent:该属性返回一个对象的引用,这个对象是距离调用offse

js中width,height,left,top计算

①offset    包括了元素的边框和内边距和滚动条 offsetWidth.offsetHeight元素的宽度和高度 offsetLeft .offsetTop元素相对于文档左边和顶部的距离(定位了的元素相对于祖先元素) ②client  不包括边框大小不包含滚动条 clientWidth.clientHeight元素的宽度和高度 clientLeft .clientTop元素相对于文档左边和顶部的距离(定位了的元素相对于祖先元素) ③scroll scrollWidth .scrollHe

JS中DOM和BOM介绍

1. 什么是BOM? BOM是Browser Object Model的缩写,简称浏览器对象模型.这个对象就是window BOM提供了独立于内容而与浏览器窗口进行交互的对象 BOM由一系列相关的对象构成,并且每个对象都提供了很多方法与属性 BOM缺乏标准,JavaScript语法的标准化组织是ECMA,DOM的标准化组织是W3C BOM最初是Netscape浏览器标准的一部分 由于BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象是window. JavaScript的组成:ECMAScr

关于js中两种定时器的设置及清除

1.JS中的定时器有两种: window.setTimeout([function],[interval]) 设置一个定时器,并且设定了一个等待的时间[interval],当到达时间后,执行对应的方法[function],当方法执行完成定时器停止(但是定时器还在,只不过没用了); window.setInterval([function],[interval]) 设置一个定时器,并且设定了一个等待的时间[interval],当到达时间后,执行对应的方法[function],当方法执行完成,定时器

JS中的this变量的使用介绍

脚本之家 在JavaScript中this变量是一个令人难以摸清的关键字,this可谓是非常强大,充分了解this的相关知识有助于我们在编写面向对象的JavaScript程序时能够游刃有余. 对于this变量最要的是能够理清this所引用的对象到底是哪一个,也许很多资料上都有自己的解释,但有些概念讲的偏繁杂.而我的理解是:首先分析this所在的函数是当做哪个对象的方法调用的,则该对象就是this所引用的对象. 示例一. 代码如下: var obj = {}; obj.x = 100; obj.y