http://my.oschina.net/u/2331760/blog/389768
document.frames指的是本页面有iframe内置框架,或许有多个,var frm = document.frames;就是获得本页面所有子框架页面的集合,一般在父页面的JS里用,而window.parent.frames指的是父页面所有框架的集合,一般是在子页面的JS里用。
1、window.parent 是iframe页面调用父页面对象
举例: a.html
<html>
<head><title>A</title></head>
<body>
<form name=”form1″ id=”form1″>
<input type=”text” name=”username” id=”username”/>
</form>
<iframe src=”b.html” width=100%></iframe>
</body>
</html>
如果我们需要在b.html中要对a.html中的username文本框赋值(就如很多上传功能,上传功能页在ifrmae中,上传成功后把上传后的路径放入父页面的文本框中),我们应该在b.html中写:
<script type=”text/javascript”>
var _parentWin = window.parent;
_parentWin.form1.username.value = “xxxx”;
</script>
2、window.opener 是 window.open 打开的子页面调用父页面对象
opener:对打开当前窗口的window对象的引用,如果当前窗口被用户打开,则它的值为null。
self代表自身窗口,opener代表打开自身的那个窗口,比如窗口a.html打开窗口b.html。如果靠window.open方法,则对于窗口b.html,self代表b.html自己,而opener代表窗口a.html。
举例:a.html
<input type=”text” name=”username” id=”username”/>
<a onclick=”window.open(this.href,”,’resizable=yes,width=800,height=600,status’); return false” href=”b.html”>B</a>
如果需要在b.html中对a.html中的表单元素赋值,我们应该在b.html中这么写
<a href=”javascript:try{window.opener.document.getElementById(‘username’).contentWindow.
frames[0].document.getElementsByTagName(‘body’)[0].innerHTML+=’xxx‘}catch(e){};window.close();“>插入</a>
在后面用window.close关闭b.html。WindsPhoto 2.7.3
http://www.wilf.cn/post/WindsPhoto.html 中在文章编辑页面弹出新窗口(图片列表)后,选择插入已上传图片便是如此实现的。
分享到:
相关推荐
3> IE与FireFox对两个弹出窗口在跨域时的解析也有不同:通过window.dialogArguments操作父窗口时,在IE下不需要指定document.domain而在FireFox下则正好相反需要指定才能生效;采用opener方式操作父窗口时都不需要...
1. 应用场景:`window.parent` 适用于处理iframe嵌套,而`window.opener` 用于新窗口与创建它的窗口之间的交互。 2. 直接关系:`window.parent` 直接指向当前窗口的父窗口,而`window.opener` 指向打开当前窗口的...
本文将详细介绍如何使用`window.location.href`进行页面跳转,并探讨它与`Response.Redirect`的区别。 #### 使用场景 假设在一个ASP.NET项目中,当用户完成某个操作(例如注册账号),我们希望在显示一个提示信息...
#### `parent`与`opener`的区别 尽管`parent`和`opener`都是指向其他窗口的引用,但它们之间存在明显的区别: - **`parent`**: - 指的是当前窗口所在的父窗口,不一定是打开当前窗口的窗口。 - 如果当前窗口...
<body onload="window.parent.opener=null;window.close();"> ``` 这段代码的作用是在页面加载完成后立即关闭当前窗口。需要注意的是,这种方式可能也会受到浏览器的弹出窗口拦截机制的影响。为了确保兼容性更好...
window.opener.location.href = window.opener.location.href 刷新以winodw.showModelDialog()方法打开的窗口 window.parent.dialogArguments.document.execCommand('Refresh'); 或 Response.Write("<script>...
(“#父窗口元素ID”,window.parent.document); 对应javascript版本为window.parent.document.getElementByIdx_x(“父窗口元素ID”);取父窗口的元素方法:$(selector, window.parent.document);那么你取父窗口的父...
例如,通过`window.opener`对象,子窗口可以访问到打开它的父窗口,而`iframe`内的脚本可以通过`parent`对象与父页面通信。 - 父窗口调用子窗口: ```javascript let newWindow = window.open('...'); newWindow....
window.opener 的用法 window.opener 返回的是创建当前窗口的那个窗口的引用,比如点击了a.htm上的一个链接而打开了b.htm,然后我们打算在b.htm上输入一个值然后赋予a.htm上的一个id为“name”的... opener.parent
然而,由于浏览器的安全策略和用户体验考虑,直接使用`window.open()`可能会遇到被拦截的情况。本文将详细介绍如何让`window.open()`不被拦截以及一些相关的实践技巧。 #### 一、`window.open()`方法概述 `window....
例如:A页面通过window.open()方法弹出了B页面,在B页面中就可以通过opener来引用A页面,这样就可以通过这个对象来对A页面进行操作。 3.parentparent用于在iframe,frame中生成的子页面中访问父页面的对象。例如:A...
### JavaScript中的`opener`与`parent`的区别详解 #### 引言 在JavaScript中,`opener`和`parent`都是与浏览器窗口交互时常用到的属性。它们分别指向了不同的窗口对象,并且有着各自特定的应用场景。本文将详细介绍...
为了实现这一目的,JavaScript提供了几个内置属性来帮助完成这类操作,主要包括`window.parent`和`window.opener`。 #### 二、`window.parent`的使用 ##### 2.1 `window.parent`的定义 `window.parent`属性返回...
这里`self`是指向当前窗口的引用,因此`self.opener`与`window.opener`具有相同的效果。 #### 2. 子窗口刷新父窗口 除了通过弹出子页面来刷新父窗口外,还可以通过子窗口本身来刷新父窗口。这种情况下,子窗口通常...
在本文中,我们将讨论在使用模式化窗口时遇到的问题及其解决方案,特别是与`window.dialogArguments`对象相关的兼容性问题。 1. 弹出窗口的方法: - `window.open()`是最常见的弹出窗口方式,可以自定义参数,如...
- **同源策略限制**:与window.opener类似,window.parent同样受到同源策略的限制。除非两个页面具有相同的协议、域名和端口号,否则不能直接操作父窗口的DOM内容。 ### 实例应用 在实际应用中,当需要从子窗口向...
这里假设父窗口有一个名为 `frameName` 的框架,可以通过 `window.opener.frames[frameName]` 来访问它,然后使用 `location.reload()` 方法来刷新该框架。 #### 四、示例代码分析 在提供的示例代码中,我们可以...
1. **`window.opener`与`window.parent`的区别**: - `window.opener`:指的是打开当前窗口的窗口对象。只有当一个窗口是由另一个窗口通过`window.open()`打开时,该窗口才有`opener`属性。 - `window.parent`:指...
总结一下,子窗口向父窗口传递值主要依赖于`window.parent`和`window.opener`这两个属性,它们允许子窗口访问并操作父窗口的DOM元素。通过结合查询字符串传递初始数据和JavaScript操作,可以实现复杂的跨窗口通信。...