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

1、window.parent 是iframe页面调用父页面对象

举例: a.html

A

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

var _parentWin = window.parent;_parentWin.form1.username.value = "xxxx";

Z-Blog的文章编辑页面上传功能就是这么实现的。

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

如果需要在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();插入

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

Copyright © 2007-2011. 文章如未注明均为原创,适用署名-非商业性使用
2.5授权,非商业及个人网站转载文章须以链接形式注明来源,商业媒体及纸媒请先联系。

分类: 设计开发 | Tags: Javascript | 添加评论(0)
老婆开的淘宝女装店,看到喜欢的给您最低折扣包邮送到!


原文链接:http://www.wilf.cn/post/window-parent-window-opener.html
阅读更多
上一篇四个有害的Java编码习惯
下一篇tomcat 6 发布应用后,访问jsp报错org.apache.jasper.JasperException: java.lang.NullPointerException的解决办法。
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭