`

window.parent与window.openner区别介绍

 
阅读更多

今天总结一下js中几个对象的区别和用法: 
首先来说说 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的用法了: 
_blank:重新打开一个窗口 
_parent:父窗口执行重定向 
_self:自身页面重定向 
_top:第一个父窗口重定向 
综上所述可知:parent.window:父窗口对象 top.window:第一个父窗口的对象 
下面来重点看看window.parent与window.openner区别 
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="获取父窗口内的文本框值" onclick="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" onclick="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="获取父窗口内的文本框值" onclick="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(); 
就总结到这里,这些对象很实用.

分享到:
评论

相关推荐

    urllib2--openner-and-handller

    #### 二、Opener 的创建与使用 1. **创建 Opener** 使用 `urllib2.build_opener()` 方法可以创建一个新的 `Opener` 实例。这个方法接受一个可选的参数列表,每个参数都是一个 `Handler` 对象。如果没有提供任何...

    Python 模拟登陆的两种实现方法

    openner = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cook)) # 添加请求头 openner.addheaders = [('User-agent', 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like ...

    HDF.rar_hdf_open

    Hdf openner. the project in delphi that could open the hdf4 file and visualization in windows application.

    Bulk URL openner-crx插件

    Bulk URL Opener是一款针对Chrome浏览器的CRX扩展程序,它主要功能是帮助用户高效地管理并批量打开多个网址。这款插件特别适用于那些需要频繁处理大量网页链接的用户,例如研究人员、网络工作者或是社交媒体管理者。...

    进口汽车维修技术缩略语词典2.pdf

    * C/O:Choke Openner,阻风门强制开启阀,用于控制汽车的空气流量。 3.汽车设计和制造 * CAD:Computer-Aided Design,计算机辅助设计,用于设计和制造汽车零部件。 * CAE:Computer Aided Enginering,电脑辅助...

    zip, rar opener

    openes zip rar files for free

    关于大学毕业生的实习总结范文.doc

    他参与了第三、四条DL线及Openner2线的投产准备工作,并在预定时间成功完成了投产目标,这不仅证明了其在项目管理和设备调试方面的专业能力,也体现了其对细节的掌控以及团队协作的能力。这些技能的掌握对于后续的...

    揭幕战

    构建完成后,将在项目的文件夹中创建Openner.hex文件。 这是您需要在变形蛋白中对AVR进行编程的唯一步骤。 第三步:创建电路 使用变形来模拟您的电路。 像我一样尝试做到。。。 第四步:编程Atmega32 要在变形图中...

    dai

    LXK0301永远滴神 动作均已不能用,勿叉 如果您知道如何设置,则可以使用 Fork将使动作的状态为“ disabled_fork”,这是重新启用动作的方法: node i @octokit/rest ...node actions_openner.js vidocqh jd_actions_vi

    jd_actions_vi:动作均已不可用。 LXK可以多久

    LXK0301永远滴神 动作均已不能用,勿叉 如果您知道如何设置,则可以使用 Fork将使动作的状态为“ disabled_fork”,这是重新启用动作的方法: node i @octokit/rest ...node actions_openner.js vidocqh jd_actions_vi

    o5

    o5≠m4 o5 -- super simple micro macro processor for text files -d value define macro variable (-d NAME=... (default "-") -start string macro openner (prefix) (default "&lt;!--#") -trim trim spaces in ex

Global site tag (gtag.js) - Google Analytics