Eckel's world

The program should be extensible and reusable.
随笔 - 3, 文章 - 0, 评论 - 2, 引用 - 0
数据加载中……

正确使用window.open返回对象的opener

众所周知JavaScript中:
var win = window.open(url,windowName,...); 的使用,
而win.opener则是指向父窗口的引用
 
然而,有种情况却比较特别,
 
假如有两个窗口window1和window2
按下列步骤执行:
var win = window.open(url,windowName,...);  (window1)
 
var win = window.open(url,windowName,...);  (window2)
其中先后这两次打开的子窗口的windowName一样
 
此时你会发现在window2中的win.opener却不是指向window2的,却是指向window1.
如果你想在子窗口关闭父窗口的话,就不正确了,因此可以修改上面的执行方法为:
var win = window.open(url,windowName,...);  (window1)
win.opener = window;
 
var win = window.open(url,windowName,...);  (window2)
win.opener = window;
 
只有这样修改才OK
 
 

posted on 2005-11-18 17:23 eckelcn 阅读(2581) 评论(0)  编辑  收藏 所属分类: HTML&JavaScript


只有注册用户登录后才能发表评论。


网站导航: