Javascript 保留对windows的引用。在父级刷新后打开windows

Javascript 保留对windows的引用。在父级刷新后打开windows,javascript,jquery,Javascript,Jquery,我使用window.open()打开一些窗口,这样我就可以使用JavaScript在父母/孩子之间进行通信 我有这样一个场景: 使用window.Open()打开窗口,并将其推送到数组中(可以有多个子窗口) 重新加载/刷新父窗口。 父窗口已失去与以前存储在数组中的子窗口的连接。 子窗口仍然可以调用window.opener,但是 我需要一种方法,让父窗口在重新加载后再次识别其子窗口,以便它可以传递变量/调用函数等 我该怎么做 当前代码如下所示: var opened_windows = new

我使用window.open()打开一些窗口,这样我就可以使用JavaScript在父母/孩子之间进行通信

我有这样一个场景:

使用window.Open()打开窗口,并将其推送到数组中(可以有多个子窗口) 重新加载/刷新父窗口。 父窗口已失去与以前存储在数组中的子窗口的连接。 子窗口仍然可以调用window.opener,但是

我需要一种方法,让父窗口在重新加载后再次识别其子窗口,以便它可以传递变量/调用函数等

我该怎么做

当前代码如下所示:

var opened_windows = new Array;

$(document).ready(function(){
    $('a[data-open-js]').click(function(){
        var link = $(this).attr('href');
        opened_windows.push(window.open(link));
        return false;
    });
});


// call functions from the opened windows when something happens in the parent
function update_all_children(jobref, new_num_saved_jobs){
    for(var i = 0; i < opened_windows.length; i++){
        opened_windows[i].update_saved_btns(jobref, new_num_saved_jobs);
    }
}
var opened\u windows=新数组;
$(文档).ready(函数(){
$('a[data open js]')。单击(function(){
var link=$(this.attr('href');
打开窗口。推(窗口。打开(链接));
返回false;
});
});
//在父窗口中发生事件时,从打开的窗口调用函数
函数更新\u所有\u子项(jobref,新的\u数量\u保存的\u作业){
对于(变量i=0;i
您可以让父窗口在子窗口中触发一个延迟回调,该回调将使用它们的window.opener引用将子窗口引用插入到打开的\u windows数组中。@问题是,父窗口不能在子窗口中触发任何东西,由于在重新加载时没有对它们的引用,请在刷新/重新加载之前将触发器发送到子窗口,并使用超时或回调延迟,以便在父窗口重新加载后触发。您可以让父窗口在子窗口中触发延迟回调,子窗口将使用其window.opener引用插入子窗口引用返回到打开的\u windows数组。@问题是,父窗口无法在子窗口中触发任何内容,因为它在重新加载时没有对它们的引用。请在刷新/重新加载之前将触发器发送到子窗口,并使用超时或回调延迟它,以便在父窗口重新加载后触发。