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

在js中window.self,window.top,window.parent,window.opener四个的做用区别仍是很大的,javascript

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

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

===============================================================浏览器

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

parent是父窗口,spa

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

self是当前窗口,orm

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

 

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 = "输入的数据";
相关文章
相关标签/搜索