sdlklhd 发表于 2008-1-28 09:17

parent属性的疑问

我今天把parent属性和opener属性整混了。
书上说,opener属性是指利用window.open方法打开的窗口的父窗口。
我做了一个小实验:在一个主窗口B中利用window.open方法打开了一个窗口A,窗口A中有一个关闭窗口B的按钮。代码如下:opener.close()。结果:窗口B正常关闭。
但是我把opener改为parent时,即parent.close()。结果:窗口A自己关闭了。
现在我有两个疑问:1、parent.close方法怎么会把窗口A自己关闭了?
                  2、窗口A的parent属性的值是什么?
大家帮忙解释一下吧。

gehouse 发表于 2008-1-28 15:07

parent是指当前窗口的引用窗口,opener才是真正意义上的父窗口。

sdlklhd 发表于 2008-1-28 15:24

“parent是指当前窗口的引用窗口”是什么意思?
parent也是指当前窗口吗?

wyg4859 发表于 2008-1-28 17:37

有这个意思!

sdlklhd 发表于 2008-1-29 07:48

知道的能给个详细的解释吗?

wyg4859 发表于 2008-1-29 09:38

opener

opener用于在window.open的页面引用执行该window.open方法的的页面的对象。例如:A页面通过window.open()方法弹出了B页面,在B页面中就可以通过opener来引用A页面,这样就可以通过这个对象来对A页面进行操作。

parent

parent用于在iframe,frame中生成的子页面中访问父页面的对象。例如:A页面中有一个iframe或frame,那么iframe或frame中的页面就可以通过parent对象来引用A页面中的对象。这样就可以获取或返回值到A页面中。



parent指父窗口,在FRAMESET中,FRAME的PARENT就是FRAMESET窗口。   
   
  opener指用WINDOW.OPEN等方式创建的新窗口对应的原窗口。   
   
  两者肯定不一样。



parent是相对于框架来说父窗口对象   
  opener是针对于用window.open打开的窗口来说的父窗口,前提是window.open打开的才有。

sdlklhd 发表于 2008-1-29 16:26

明白了.
衷心表示感谢!!!![em14] [em14]

页: [1]

编程论坛