Javascript 从父窗口关闭子窗口

Javascript 从父窗口关闭子窗口,javascript,jquery,parent-child,Javascript,Jquery,Parent Child,我不明白为什么这行不通。这个代码有什么问题吗?正在调用该函数。我检查了一个警报,但它不会关闭窗口 $('#click').click(function() { var win = window.open("test3.html","something","width=550,height=170"); }); function closeit(){ win.close(); } 在test3.html上 window.opener.closeit(); 您的win变量

我不明白为什么这行不通。这个代码有什么问题吗?正在调用该函数。我检查了一个警报,但它不会关闭窗口

 $('#click').click(function() {
   var win = window.open("test3.html","something","width=550,height=170");
 });

 function closeit(){
   win.close();
 }
在test3.html上

 window.opener.closeit();

您的
win
变量的作用域是处理单击事件的函数。将它放在该函数和
closeit
共享的范围内

在这种情况下,这可能看起来像:

var win;

…

    $('#click').click(function() {
        win = window.open("test3.html", "something", "width=550,height=170");
    });
});

function closeit() {
    win.close();
}

第一个
win
是回调范围中的局部变量,而第二个是全局对象。将定义(
var-win
)移到函数外部,它应该可以工作