`

Window 对象中的parent属性——iframe子窗口访问父窗口

 
阅读更多
Window 对象

Window 对象表示浏览器中打开的窗口。
如果文档包含框架(frame 或 iframe 标签),浏览器会为 HTML 文档创建一个 window 对象,并为每个框架创建一个额外的 window 对象。

 

手中的一个项目包含iframe与父窗口的交互,之前的一个同事的调用一个基于jQuery组件的方法是

parent.$.functionName

 之前没太弄明白这么写的原因,待到需要自己来开发别的模块的时候,查了一下资料

 

window.parent→→返回父窗口

 

需要这么写的需求是,因为页面内嵌有一个iframe模块,而现在需要调用一个弹出窗体dialog,如果使用普通的调用方法,则窗体唤出仅仅存在iframe这一个小小的区域,展示的范围受限,不能完成的存在于整个屏幕。所以如果,在iframe的父级窗体,即大window里面唤出dialog的话,dialog的范围就扩大了,实现全屏。

 

按照这个思路,则需要回到父窗口来调用dialog,即window.parent,在函数体内,这个方法仍然是在iframe里面使用,调用父窗体的方法,从DOM结构而言,整个dialog已经超出iframe范围内,



 

对父窗体内容的选择

window.parent.$('#form')

 

在应用有frameset或者iframe的页面时,parent是父窗口,top是最顶级父窗口(有的窗口中套了好几层frameset或者iframe),self是当前窗口, opener是用open方法打开当前窗口的那个窗口。



window.self


功能:是对当前窗口自身的引用。它和window属性是等价的。

语法:window.self

注:window、self、window.self是等价的。



window.top

功能:返回顶层窗口,即浏览器窗口。

语法:window.top

注:如果窗口本身就是顶层窗口,top属性返回的是对自身的引用。



window.parent

功能:返回父窗口。

语法:window.parent

注:如果窗口本身是顶层窗口,parent属性返回的是对自身的引用。

在框架网页中,一般父窗口就是顶层窗口,但如果框架中还有框架,父窗口和顶层窗口就不一定相同了。



判断当前窗口是否在一个框架中:

<script type="text/javascript">
var b = window.top!=window.self;
document.write( "当前窗口是否在一个框架中:"+b );
</script>

你应当将框架视为窗口中的不同区域,框架是浏览器窗口中特定的部分。一个浏览器窗口可以根据你的需要分成任意多的框架,一个单个的框架也可以分成其它多个框架,即所谓的嵌套框架。

 

 

文章参考自:

Js中的window.parent ,window.top,window.self 详解

ttp://blog.csdn.net/zdwzzu2006/article/details/6047632

Window 对象

http://www.w3school.com.cn/jsref/dom_obj_window.asp

  • 大小: 10.3 KB
分享到:
评论

相关推荐

    父窗口调用iframe子窗口方法

    获取到`iframe`元素后,我们可以通过`contentWindow`属性访问`iframe`中的`window`对象,如果是同源策略允许的,还可以通过`contentDocument`访问`iframe`的`document`对象。例如: ```javascript var iframe...

    Qt 子窗口父窗口切换,窗口间传值

    在Qt编程中,子窗口与父窗口之间的交互是常见的需求,包括窗口间的切换和数据传递。这涉及到Qt的窗口系统和信号与槽机制。本文将深入探讨如何在Qt环境中实现子窗口与父窗口的切换以及如何在窗口之间传递数据。 首先...

    HTML中IFrame父窗口与子窗口相互操作

    子窗口可以使用`window.parent`对象来访问父窗口。例如,`window.parent.location.href=window.parent.location.href`或`window.parent.location.reload()`可以刷新父窗口。 除了上述基本操作,还有其他一些高级...

    JavaScript操作iframe父窗口和子窗口例子

    3. **父窗口访问子窗口**: - 使用`window.frames['iframeName']`或`window.frames[0]`(如果只有一个iframe)可以访问子窗口的window对象。 - 例如,要修改子窗口的标题,可以执行`window.frames['iframeName']....

    子窗口传值到父窗口.rar

    - 子窗口可以通过`window.opener`属性访问父窗口的对象。例如,如果我们在子窗口中有一个变量`value`要传递,可以使用`window.opener.value = '新值'`来设置父窗口中的`value`。 - 父窗口中,打开子窗口时保存一个...

    JS子窗口调用父窗口

    在JavaScript中,有时我们需要从一个子窗口(通常是通过`window.open()`方法打开的新窗口)与父窗口(即打开该新窗口的原始窗口)之间进行交互。这种交互可能包括调用父窗口中的函数或修改父窗口中元素的状态等。...

    创建子窗口与子父窗口间通信

    - 当子窗口是页面内的IFrame时,可以通过`window.parent`访问父窗口的对象,反之亦然,只要同源策略允许。 4. **cookies和存储API:** - 子窗口和父窗口可以共享存储在cookies或localStorage、sessionStorage中的...

    子窗口向父窗口传递值

    总结一下,子窗口向父窗口传递值主要依赖于`window.parent`和`window.opener`这两个属性,它们允许子窗口访问并操作父窗口的DOM元素。通过结合查询字符串传递初始数据和JavaScript操作,可以实现复杂的跨窗口通信。...

    谷歌浏览器的一个新特点——关于获取iframe的parent对象Demo.zip

    在iframe中,`window.parent`属性则指向包含当前iframe的父窗口对象。这个属性允许我们在iframe内部操作或访问父窗口的数据和功能。例如,你可以通过`window.parent.document`来访问父页面的DOM,或者通过`window....

    子窗口与父窗口刷新

    3. **父窗口的更新**:在子窗口的AJAX成功回调函数中,我们可以调用`parent.window.location.reload()`来刷新父窗口。这样,父窗口将获取到最新的数据并重新渲染页面。 这个过程的关键在于通过AJAX保持页面的异步...

    js实现ifram取父窗口URL地址的方法

    在iframe中,可以通过window.parent来访问其父窗口的对象。 获取父窗口URL地址通常有几种方法,比如使用document.referrer属性或window.location属性。document.referrer属性返回的是链接到当前页面的那个页面的URL...

    子窗口iframe跳转到父窗口

    具体操作是在子窗口(即`iframe`内部)使用JavaScript代码来改变父窗口的`location.href`属性。 ```javascript parent.location.href = "目标URL"; ``` 这种方式简单易懂,但是需要注意的是,由于浏览器的安全策略...

    jquery、js调用iframe父窗口与子窗口元素的方法整理.docx

    然而,在使用iframe时,经常会遇到一个问题:如何在iframe中访问父窗口的元素,或者在父窗口中访问iframe中的元素?本文将对jquery和js调用iframe父窗口与子窗口元素的方法进行整理。 1. jquery在iframe子页面获取...

    测试window对象属性parent、top、self

    `parent`、`top`和`self`是Window对象中非常重要的三个属性,它们各自承担着不同的职责,对于理解JavaScript在浏览器环境中的工作原理至关重要。 1. `self`属性: `self`属性在JavaScript中用来引用当前的Window...

    javascript 父窗口、子窗口传值问题

    1. **使用`window.opener`属性**:子窗口可以访问`window.opener`,它是打开它的父窗口的引用。通过这个引用,可以调用父窗口的函数或修改其变量: ```javascript // 子窗口 window.opener.parentFunction('...

    IFrame AND window对象

    通过这些属性,我们可以在`IFrame`和父窗口之间进行通信。 综上所述,`IFrame`和`window`对象是构建动态、交互式Web应用的重要工具。熟练掌握它们的使用,能够帮助开发者实现更高效、更丰富的网页设计。在实际项目...

    子窗口刷新父窗口总结

    通过在子窗口中调用`window.opener.location.reload()`,可以实现在子窗口关闭时刷新父窗口。具体实现如下: ```javascript // 子窗口代码 window.close(); if (条件满足) { window.opener.location.reload(); } `...

    MFC子窗口和父窗口

    最小化父窗口不会影响子窗口的可见状态,子窗口会随着父窗口被最小化,但是它的 WS_VISIBLE 属性不会变。 Windows 系统为什么要使用两种关系呢?这是为了更加灵活的管理窗口。举个例子:组合框(combobox)的下拉...

    Qt--子窗口向父窗口传值

    本主题将详细探讨如何在Qt中实现从子窗口(子对话框)向父窗口传递数据,具体涉及的主要文件包括`mainwindow.cpp`、`main.cpp`、`myform.cpp`、`logindlg.cpp`、`mainwindow.h`、`myform.h`、`logindlg.h`以及UI文件...

    showModalDialog使用例子,父窗口向子窗口传递值,子窗口设置父窗口的值,子窗口关闭的时候返回值到父窗口

    子窗口可以通过`window.opener`属性访问父窗口的对象和方法。但是,由于同源策略的限制,只有当子窗口与父窗口位于同一域时,才能修改父窗口的值。例如,子窗口可以这样设置父窗口的变量: ```javascript window....

Global site tag (gtag.js) - Google Analytics