在Javascript中处理子窗口和孙窗口
我的网页上有一个主窗口(#1),从中我打开一个新的浏览器窗口(#2),从中我打开一个新窗口(#3) 现在,如果我的用户在window#3之前关闭了window#2,我的问题是window#3无法再调用其window.opener中的函数,因为它已经消失了 我想做的是在window#2关闭时将window#3.opener设置为window#1 我已经尝试过在窗口2中执行此操作(通过使用jquery的方式): 加载窗口#3时,我将窗口添加到窗口#2中的数组子项中 但当window#2在window#3之前关闭时,windows#3的window.opener不会指向window#1在Javascript中处理子窗口和孙窗口,javascript,jquery,window,Javascript,Jquery,Window,我的网页上有一个主窗口(#1),从中我打开一个新的浏览器窗口(#2),从中我打开一个新窗口(#3) 现在,如果我的用户在window#3之前关闭了window#2,我的问题是window#3无法再调用其window.opener中的函数,因为它已经消失了 我想做的是在window#2关闭时将window#3.opener设置为window#1 我已经尝试过在窗口2中执行此操作(通过使用jquery的方式): 加载窗口#3时,我将窗口添加到窗口#2中的数组子项中 但当window#2在window
如何确保我的孙子窗口(窗口3)在窗口2关闭后仍能调用主窗口(窗口1)?这可能是相切的,但为什么需要打开3个单独的窗口?您可以改用jQuery对话框吗?当应用程序在我身上打开窗口时,我感到非常沮丧。
窗口。opener
可能是只读的。我会设置您自己的财产,以便在加载孙子时引用祖父母
function onLoad() {
window.grandparent = window.opener.opener;
}
在第三个wndow中,您输入:
<script type="text/javascript">
var grandMother = null;
window.onload = function(){
grandMother = window.opener.opener;
}
</script>
当第三个窗口打开时,应创建对主窗口的引用:
parent = window.opener.opener
这将在第二个窗口关闭后仍然有效。请避免只回答代码,并提供代码解释。
var main_window = get_main_window();
function get_main_window(){
var w = window;
while(w.opener !== null){
w = w.opener;
}
return w;
}
parent = window.opener.opener
var main_window = get_main_window();
function get_main_window(){
var w = window;
while(w.opener !== null){
w = w.opener;
}
return w;
}