window.parent与window.opener区别介绍

来自:http://www.jb51.net/article/30086.htm


首先来说说 parent.window与top.window的用法 
"window.location.href"、"location.href"是本页面跳转 
"parent.location.href"是上一层页面跳转 
"top.location.href"是最外层的页面跳转 
举例说明: 
如果A,B,C,D都是jsp,D是C的iframe,C是B的iframe,B是A的iframe,如果D中js这样写 
"window.location.href"、"location.href":D页面跳转 
"parent.location.href":C页面跳转 
"top.location.href":A页面跳转 


现在终于明白了连接的时候target的用法了: (即可见http://blog.csdn.net/love_5209/article/details/20357583  第11条)
_blank:重新打开一个窗口 
_parent:父窗口执行重定向 
_self:自身页面重定向 
_top:第一个父窗口重定向 
综上所述可知:parent.window:父窗口对象 top.window:第一个父窗口的对象 
下面来重点看看window.parent与window.opener区别 
window.parent 是iframe页面调用父页面对象,当我们想从iframe内嵌的页面中访问外层页面是可以直接利用window.parent获取; 

例子如下: 
A.html 

<html> 
<head> 
<title>父页面</title> 
</head> 
<body> 
<form id="form1" action=""> 
<div> 
输入值: 
<input type="text" name="username" id="username" /><br /> 
<iframe src="b.html" width="400px" height="300px"></iframe> 
</div> 
</form> 
</body> 
</html> 

B.html 

<html> 
<head> 
<script type="text/javascript"> 
function getpValue() 
{ 
document.getElementByIdx_x_x_x("span1").innerText=window.parent.document.getElementByIdx_x_x_x("username").value; 
} 
</script> 
</head> 
<body> 
<span>文本框值为:</span><span id="span1"></span><br /> 
<input type="button" value="获取父窗口内的文本框值" οnclick="getpValue();"> 
</body> 
</html> 


window.opener 是window.open或超链接<a> 打开的子页面调用父页面对象 
例子如下 
a.html 

<html> 
<head> 
<title>父页面</title> 
<script type="text/javascript"> 
function openB() 
{ 
window.open('b.html','b','width=400,height=200,status=no,toolbar=no,menubar=no,location=no,resizable=yes,left=200,top=100'); 
} 
</script> 
</head> 
<body> 
<form id="form1" action=""> 
<div> 
输入值: 
<input type="text" name="username" id="username" /><br /> 
<input type="button" value="打开窗口B" οnclick="openB();" /><br /> 
<a href="b.html" target="_blank">超链接打开B页面</a> 
</div> 
</form> 
</body> 
</html> 

b.html 
<html> 
<head> 
<script type="text/javascript"> 
function getpValue() 
{ 
document.getElementByIdx_x_x_x("span1").innerText=window.opener.document.getElementByIdx_x_x_x("username").value; 
} 
</script> 
</head> 
<body> 
<span>文本框值为:</span><span id="span1"></span><br /> 
<input type="button" value="获取父窗口内的文本框值" οnclick="getpValue();"> 
</body> 
</html> 

下面来举几个常用的例子: 
parent.window与top.window一般在分割的页面即 frameset或iframe中使用 
注销整个框架后返回到login.aspx:parent.window.location='Login.aspx'或者 
top.window.location='Login.aspx' 
window.parent也是常在框架中使用, 
刷新:window.parent.location.reload();或者刷新某个框架:window.parent.MainForm.location.reload(); 
获得其他框架的元素值:window.parent.MainForm.form1.text1.value; 
window.opener主要是获得通过超链接或者 window.open() 打开本身页面的页面的一些,比如获得值,刷新等 
刷新:window.opener.location.reload(); 
获值:window.opener.document.getElement("txtName").value; 
后退:top.playFrame.history.go(-1); 
前进: top.playFrame.history.go(1); 
刷新: top.playFrame.location.reload(); 
就总结到这里,这些对象很实用


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值