window.parent与window.openner区别介绍

 更新时间:2012年04月12日 16:22:20   作者:  
今天总结一下js中几个对象的区别和用法,对这几个概念混淆的朋友可以看看
今天总结一下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入门学习第六篇 js DOM编程

    Javascript入门学习第六篇 js DOM编程

    上篇文章纳闷的问题,将在这章和以后的几章里,慢慢搞定。 从今天起,开始学习DOM编程 让我们慢慢称为一名初级的js程序员。 然后往js匠人方向发展。
    2008-07-07
  • 关于JavaScript对象类型之Array及Object

    关于JavaScript对象类型之Array及Object

    这篇文章主要介绍了关于JavaScript对象类型之Array及Object,Array 类型是 ECMAScript 中最常用的类型了。而且,ECMAScript 中的数组与其他多数语言中的数组有着相当大的区别,需要的朋友可以参考下
    2023-05-05
  • 对new functionName()定义一个函数的理解

    对new functionName()定义一个函数的理解

    这篇文章主要介绍了对new functionName()定义一个函数的理解,需要的朋友可以参考下
    2014-05-05
  • js中运算符&& 和 || 的使用记录

    js中运算符&& 和 || 的使用记录

    js中&& 和 ||运算符经常用到,但也好混淆,下面是对自己的使用坐下记录,需要的朋友可以参考下
    2014-08-08
  • JavaScript基础之this指向

    JavaScript基础之this指向

    这篇文章主要介绍了浅谈JavaScript this指向以及修改指向,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-11-11
  • 在javascript中对于DOM的加强

    在javascript中对于DOM的加强

    本篇文章,小编为大家介绍关于在javascript中对于DOM的加强,有需要的朋友可以参考一下
    2013-04-04
  • Javascript中的默认参数详解

    Javascript中的默认参数详解

    本文详细介绍了javascript中的默认参数问题,非常的详细,希望对大家能有所帮助
    2014-10-10
  • js函数调用的方式

    js函数调用的方式

    这篇文章主要介绍了js函数调用的方式,需要的朋友可以参考下
    2014-05-05
  • JavaScript的Date()方法使用详解

    JavaScript的Date()方法使用详解

    这篇文章主要介绍了JavaScript的Date()方法使用详解,是JS入门学习中的基础知识,需要的朋友可以参考下
    2015-06-06
  • JavaScript基础心法 深浅拷贝(浅拷贝和深拷贝)

    JavaScript基础心法 深浅拷贝(浅拷贝和深拷贝)

    浅拷贝和深拷贝都是对于JS中的引用类型而言的,浅拷贝就只是复制对象的引用,如果拷贝后的对象发生变化,原对象也会发生变化。只有深拷贝才是真正地对对象的拷贝
    2018-03-03

最新评论