window.open和window.parent的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了window.open和window.parent的区别相关的知识,希望对你有一定的参考价值。

参考技术A

一、window.parent 是iframe页面调用父页面对象,当我们想从iframe内嵌的页面中访问外层页面是可以直接利用window.parent获取。
例子如下:
a.html 

b.html 

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

b.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();

参考技术B 今天总结一下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();
就总结到这里,这些对象很实用
多思考,多创新,才是正道!

JavaScript 中的 Window.location.href() 和 Window.open()

【中文标题】JavaScript 中的 Window.location.href() 和 Window.open()【英文标题】:Window.location.href () and Window.open () in JavaScript 【发布时间】:2013-09-09 04:09:21 【问题描述】:

JavaScript 中的window.location.href ()window.open() 方法有什么区别?

【问题讨论】:

Window.location.href and Window.open () methods in JavaScript的可能重复 【参考方案1】:

window.location 是一个对象

window.location.href 是它的属性

它告诉你浏览器的当前 URL 位置

document.write(location.href);// will give location URL location of browser.

设置属性将重定向页面。

window.open() 是一种方法,您可以将 URL 传递给您想要在新窗口中打开

例如

window.location.href = 'http://www.xyz.com'; //Will take you to xyz.

window.open('http://www.xyz.com'); //This will open xyz in a new window.

【讨论】:

【参考方案2】:

window.location.href 更改即时窗口位置。

window.open() 将打开一个新窗口。

【讨论】:

以上是关于window.open和window.parent的区别的主要内容,如果未能解决你的问题,请参考以下文章

HTML5 学习笔记四(跨文档消息通信)

求助:js,如何关闭IFRAME的父窗口

“window.parent”和“window.dialogArguments”的区别是啥?

js中window.opener和window.parent的用法

请问JavaScript语言中的window.close()和window.parent.close()有啥区别?

请问JavaScript语言中的window.close()和window.parent.close()有啥区别?