window.parent与window.opener的区别与使用

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

如果我们需要在b.html中要对a.html中的username文本框赋值(就如很多上传功能,上传功能页在ifrmae中,上传成功后把上传后的路径放入父页面的文本框中),我们应该在b.html中写:

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

如果需要在b.html中对a.html中的表单元素赋值,我们应该在b.html中这么写

在后面用window.close关闭b.html。WindsPhoto 2.7.3 http://www.wilf.cn/post/WindsPhoto.html 中在文章编辑页面弹出新窗口(图片列表)后,选择插入已上传图片便是如此实现的。